Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F11221806
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
103 KB
Subscribers
None
View Options
Index: contrib/contribs/SDFPlugin/tags/1.0.2/ChangeLog
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/ChangeLog (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/ChangeLog (revision 1522)
@@ -0,0 +1,4 @@
+2024-12-11 <scaletti@phys.ethz.ch>
+ * [many files]:
+ Initial creation and import of the SDFPlugin 1.0.0 from
+ https://github.com/jetflav/SDFlavPlugin
Index: contrib/contribs/SDFPlugin/tags/1.0.2/COPYING
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/COPYING (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/COPYING (revision 1522)
@@ -0,0 +1,343 @@
+======================================================================
+======================================================================
+======================================================================
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
Index: contrib/contribs/SDFPlugin/tags/1.0.2/example-SDF.cc
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/example-SDF.cc (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/example-SDF.cc (revision 1522)
@@ -0,0 +1,114 @@
+#include <iostream>
+#include <iomanip>
+
+#include "fastjet/PseudoJet.hh"
+#include "fastjet/contrib/SDFPlugin.hh"
+#include "fastjet/contrib/FlavInfo.hh"
+//#include "include/fastjet/contrib/SDFPlugin.hh"
+
+using namespace std;
+using namespace fastjet;
+using namespace fastjet::contrib;
+
+// forward declaration to make things clearer
+void read_event(vector<PseudoJet> &event);
+
+//----------------------------------------------------------------------
+int main(int iargc, char **argv){
+
+ // give user control over printout (mainly relevant for make check)
+ // usage: "./example-SDF [nevmax [njetmax]] < ../data/pythia8_Zq_vshort.dat"
+ unsigned int nevmax = 2;
+ unsigned int njetmax = 1;
+ if (iargc > 1) nevmax = stoi(argv[1]);
+ if (iargc > 2) njetmax = stoi(argv[2]);
+
+ // print banner for FastJet at the start, so it doesn't mix
+ // into the other output
+ ClusterSequence::print_banner();
+
+ // we start with a base jet definition (should be either
+ // antikt_algorithm or cambridge_algorithm, or their e+e- variants)
+ JetDefinition base_jet_def(antikt_algorithm, 0.4);
+ // enable it to track flavours (default is net flavour)
+ FlavRecombiner flav_recombiner;
+ // to unable modulo_2 flavour replace the line above with
+ // FlavRecombiner flav_recombiner=FlavRecombiner::modulo_2;
+ base_jet_def.set_recombiner(&flav_recombiner);
+
+ // We define the SDFlavourCalc with
+ // default parameters
+ // beta = 2
+ // zcut = 0.1
+ // R = 0.4
+ // modulo_2 = false
+ SDFlavourCalc sdFlavCalc;
+
+ // check flavour recombination is chosen
+ // consistently between SDF and the base jet
+ sdFlavCalc.check_flav_recombination(base_jet_def);
+
+ // loop over some number of events
+ int n_events = 10;
+ for (int iev = 0; iev < n_events && iev < nevmax; iev++) {
+ cout << "\n#---------------------------------------------------------------\n";
+ cout << "# read event " << iev;
+
+ // read in input particles: see that routine for info
+ // on how to set up the PseudoJets with flavour information
+ vector<PseudoJet> event;
+ read_event(event);
+ cout<< " with " << event.size() << " particles" << endl;
+ // run the jet clustering with the base jet definition and the
+ // SDFPlugin-based jet definition
+ vector<PseudoJet> base_jets = base_jet_def(event);
+ cout<<"now do the sd..."<<endl;
+ vector<PseudoJet> sdflav_jets = base_jet_def(event);
+ sdFlavCalc(sdflav_jets);
+
+ // // ----------------------------------------------------
+ // // loop over the two leading jets and print out their properties
+ for (unsigned int ijet = 0; ijet < base_jets.size() && ijet < njetmax; ijet++) {
+ // first print out the original anti-kt jets and the SDF jets
+ const auto & base_jet = base_jets[ijet];
+ const auto & sdflav_jet = sdflav_jets [ijet];
+ cout << endl;
+ cout << "base jet " << ijet << ": ";
+ cout << "pt=" << base_jet.pt() << " rap=" << base_jet.rap() << " phi=" << base_jet.phi();
+ cout << ", flav = " << FlavHistory::current_flavour_of(base_jet).description() << endl;
+ cout << "SD flav jet " << ijet << ": ";
+ cout << "pt=" << sdflav_jet.pt() << " rap=" << sdflav_jet.rap() << " phi=" << sdflav_jet.phi();
+ cout << ", flav = " << FlavHistory::current_flavour_of(sdflav_jet).description() << endl;
+
+ }
+ }
+
+ return 0;
+}
+
+// read in input particles and set up PseudoJets with flavour information
+void read_event(vector<PseudoJet> &event){
+ // read in the input particles and their PDG IDs
+ string line;
+ double px, py, pz, E;
+ int pdg_id;
+ event.resize(0);
+ while(getline(cin,line)) {
+ if(line[0] == '#') continue;
+
+ istringstream iss(line);
+ iss >> px >> py >> pz >> E >> pdg_id;
+ // create a fastjet::PseudoJet with these components and put it onto
+ // back of the input_particles vector
+ PseudoJet p(px,py,pz,E);
+
+ // assign information about flavour (will be deleted automatically)
+ p.set_user_info(new FlavHistory(pdg_id));
+ event.push_back(p);
+
+ if (cin.peek() == '\n' || cin.peek() == EOF) {
+ getline(cin,line);
+ break;
+ }
+ }
+}
Index: contrib/contribs/SDFPlugin/tags/1.0.2/NEWS
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/NEWS (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/NEWS (revision 1522)
@@ -0,0 +1,10 @@
+2025/04/29: release version 1.0.2
+- added modulo_2 option for flavour recombination
+
+2025/01/15: release of version 1.0.1
+- header file more readable
+
+2025/01/14: release of version 1.0.0
+- First fjcontrib release of SDFPlugin
+- this is now the reference version for SDFPlugin
+superseding https://github.com/jetflav/SDFlavPlugin
Index: contrib/contribs/SDFPlugin/tags/1.0.2/Makefile
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/Makefile (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/Makefile (revision 1522)
@@ -0,0 +1,106 @@
+# If you are using this Makefile standalone and fastjet-config is not
+# in your path, edit this line to specify the full path
+FASTJETCONFIG=fastjet-config
+PREFIX=`$(FASTJETCONFIG) --prefix`
+CXX=g++
+CXXFLAGS= -O3 -Wall -g
+install_script = $(SHELL) ../utils/install-sh
+check_script = ../utils/check.sh
+
+# global contrib-wide Makefile include may override some of the above
+# variables (leading "-" means don't give an error if you can't find
+# the file)
+-include ../.Makefile.inc
+
+#------------------------------------------------------------------------
+# things that are specific to this contrib
+NAME=SDFPlugin
+#SRCS=SDFPlugin.cc FlavInfo.cc RecursiveSymmetryCutBase.cc SoftDrop.cc Recluster.cc
+SRCS=SDFPlugin.cc
+EXAMPLES=example-SDF
+# the headers to be installed are expected to be in include/fastjet/contrib
+INSTALLED_HEADERS=SDFPlugin.hh
+# List here any dependencies on other contribs. Note that they
+# must be listed (potentially with versioning constraints) also
+# in the FJCONTRIB.cfg file.
+DEPENDS_ON = IFNPlugin RecursiveTools
+#------------------------------------------------------------------------
+
+CXXFLAGS+= $(shell $(FASTJETCONFIG) --cxxflags)
+LDFLAGS += -lm $(shell $(FASTJETCONFIG) --libs)
+
+INCLUDE += -Iinclude/
+# loop over all entries in DEPENDS_ON and for each entry ENTRY
+# add -I../ENTRY to INCLUDE, -L../ENTRY to LDFLAGS and -lENTRY to LDFLAGS
+INCLUDE += $(foreach ENTRY,$(DEPENDS_ON),-I../$(ENTRY)/include)
+LDFLAGS += $(foreach ENTRY,$(DEPENDS_ON),-L../$(ENTRY) -l$(ENTRY))
+CXXFLAGS+= $(INCLUDE)
+
+# optionally, print out the INCLUDE and LDFLAGS variables
+# $(info INCLUDE=$(INCLUDE))
+# $(info LDFLAGS=$(LDFLAGS))
+
+OBJS = $(SRCS:.cc=.o)
+EXAMPLES_SRCS = $(EXAMPLES:=.cc)
+
+install_HEADER = $(install_script) -c -m 644
+install_LIB = $(install_script) -c -m 644
+install_DIR = $(install_script) -d
+install_DATA = $(install_script) -c -m 644
+install_PROGRAM = $(install_script) -c -s
+install_SCRIPT = $(install_script) -c
+
+.PHONY: clean distclean examples check install
+
+# compilation of the code (default target)
+all: lib$(NAME).a
+
+lib$(NAME).a: $(OBJS)
+ ar cru lib$(NAME).a $(OBJS)
+ ranlib lib$(NAME).a
+
+# building the examples
+examples: $(EXAMPLES)
+
+# the following construct makes it possible to automatically build
+# each of the examples listed in $EXAMPLES
+$(EXAMPLES): % : %.o all
+ $(CXX) $(CXXFLAGS) -o $@ $< -L. -l$(NAME) $(LDFLAGS) -lfastjetplugins
+
+# check that everything went fine
+check: examples
+ @for prog in $(EXAMPLES); do\
+ $(check_script) $${prog} ../data/pythia8_Zq_vshort.dat -1 -1 || exit 1; \
+ done
+ @echo "All tests successful"
+
+# cleaning the directory
+clean:
+ rm -f *~ *.o
+
+distclean: clean
+ rm -f lib$(NAME).a $(EXAMPLES)
+
+# install things in PREFIX/...
+install: all
+ $(install_DIR) $(PREFIX)/include/fastjet/contrib
+ for header in $(INSTALLED_HEADERS); do\
+ $(install_HEADER) include/fastjet/contrib/$$header $(PREFIX)/include/fastjet/contrib/;\
+ done
+ $(install_DIR) $(PREFIX)/lib
+ $(install_LIB) lib$(NAME).a $(PREFIX)/lib
+
+depend:
+ makedepend -Y -- -Iinclude -- $(SRCS) $(EXAMPLES_SRCS)
+
+#DO NOT DELETE
+
+SDFPlugin.o: include/fastjet/contrib/SDFPlugin.hh
+SoftDrop.o: include/fastjet/contrib/RecursiveSymmetryCutBase.hh
+FlavInfo.o: include/fastjet/contrib/FlavInfo.hh
+example-SDF.o: include/fastjet/contrib/SDFPlugin.hh
+#example-SDF.o: include/fastjet/contrib/FlavInfo.hh
+#example-SDF.o: include/fastjet/contrib/SoftDrop.hh
+#example-SDF.o: include/fastjet/contrib/Recluster.hh
+
+
Index: contrib/contribs/SDFPlugin/tags/1.0.2/README
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/README (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/README (revision 1522)
@@ -0,0 +1,91 @@
+SDFPlugin
+=========
+
+This code provides an implementation of the SoftDrop Flavour (SDF)
+algorithm presented in
+
+> Practical Jet Flavour Through NNLO,
+> by Simone Caletti, Andrew J. Larkoski, Simone Marzani and Daniel Reichelt
+> https://arxiv.org/pdf/2205.01109
+
+To learn how to use the library, the ['example-SDF.cc'](example-SDF.cc) code is
+a good place to get started
+
+**The SDFPlugin code needs FastJet ≥ 3.4.1 to compile**
+**The SDFPlugin depends on the IFNPlugin and the RecursiveTools contrib, which are also distributed with fjcontrib**
+
+Specifically
+
+- It relies on the flavour structure implemented in FlavInfo.cc from IFNPlugin
+- It uses the Soft Drop algorithm and the reclusterings implemented in RecursiveTools
+
+Main principles of SDF
+---------------------
+
+The SDF algorithm uses a base jet (clustered with any IRC safe algorithm)
+and assign a flavour label to such a jet in an IRC safe way,
+at least up to NNLO QCD.
+The flavour label is built as the net flavour of the particles surviving
+the Soft Drop procedure.
+Differently from the standard Soft Drop procedure, in the SDF algorithm
+the jet is reclustered using the JADE algorithm, instead of C/A as customary.
+The Soft Drop procedure applied by SDF is used just for the flavour assignement
+and must be applied again (with the desired algorithm for the reclustering)
+if the user wants to look at the properties of the groomed jet.
+
+Code Structure
+--------------
+
+The main interface to the SDF algorithm is ['SDFPlugin.hh'](SDFPlugin.hh)
+
+ // we start with a base jet definition (should be either
+ // antikt_algorithm or cambridge_algorithm, or their e+e- variants)
+ JetDefinition base_jet_def(antikt_algorithm, 0.4);
+ // enable it to track flavours (default is net flavour)
+ FlavRecombiner flav_recombiner;
+ // to unable modulo_2 flavour replace the line above with
+ // FlavRecombiner flav_recombiner=FlavRecombiner::modulo_2;
+ base_jet_def.set_recombiner(&flav_recombiner);
+
+ // We define the SDFlavourCalc with
+ // default parameters
+ // beta = 2
+ // zcut = 0.1
+ // R = 0.4
+ // modulo_2 = false
+ SDFlavourCalc sdFlavCalc;
+
+ vector<PseudoJet> sdflav_jets = base_jet_def(event);
+ sdFlavCalc(sdflav_jets);
+
+The SDFlavourCalc class can be found in include/fastjet/contrib/SDFPlugin.hh
+and returns the Soft Drop Flavour applying JADE reclustering and Soft Drop
+to the original jet.
+
+Default parameters used by the Soft Drop and the reclustering procedures are
+- beta = 2
+- zcut = 0.1
+- R = 0.4
+- modulo_2 = false
+
+They can be changed when defining the SDFlavourCalc object, e.g.
+
+ SDFlavourCalc sdFlavCalc(1,0.2,0.5,true);
+
+where the new parameters are
+- beta = 1
+- zcut = 0.2
+- R = 0.5
+- modulo_2 = true
+
+The modulo_2 boolean variable unable the modulo_2 flavour recombination scheme.
+The default option is false, and corresponds to the net flavour recombination.
+When comparing SDFlavourCalc and the base jet be sure to use the same
+flavour recombination. This can be done
+
+ sdFlavCalc.check_flav_recombination(base_jet_def);
+
+Pushing zcut very close to zero one can check that the SDFPlugin returns
+the same flavour than the initial jet.
+
+Note: SDF is only defined for beta > 0
Index: contrib/contribs/SDFPlugin/tags/1.0.2/FJCONTRIB.cfg
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/FJCONTRIB.cfg (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/FJCONTRIB.cfg (revision 1522)
@@ -0,0 +1,2 @@
+version: 1.0.2
+dependencies: IFNPlugin (1.0.0), RecursiveTools
Index: contrib/contribs/SDFPlugin/tags/1.0.2/SDFPlugin.cc
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/SDFPlugin.cc (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/SDFPlugin.cc (revision 1522)
@@ -0,0 +1,81 @@
+// -*- C++ -*-
+//
+// Copyright (c) -,
+//
+//----------------------------------------------------------------------
+// This file is part of FastJet contrib.
+//
+// It is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or (at
+// your option) any later version.
+//
+// It is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+// License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this code. If not, see <http://www.gnu.org/licenses/>.
+//----------------------------------------------------------------------
+
+#include "fastjet/contrib/SDFPlugin.hh"
+#include "fastjet/contrib/FlavInfo.hh"
+//#include "include/fastjet/contrib/SDFPlugin.hh"
+#include <istream>
+
+FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
+namespace contrib{
+
+//using fastjet::contrib::FlavInfo;
+//using fastjet::contrib::FlavHistory;
+
+void SDFlavourCalc::operator()(fastjet::PseudoJet& jet) {
+ fastjet::ClusterSequence cs(jet.constituents(), p_plugin.get());
+ cs.exclusive_jets_up_to(1);
+ std::vector<fastjet::PseudoJet> sdjets = p_sd->operator()(cs.exclusive_jets_up_to(1));
+ if(sdjets.size() != 1) jet.set_user_info(new fastjet::contrib::FlavHistory(fastjet::contrib::FlavInfo()));
+ std::vector<fastjet::PseudoJet> sdj = sdjets[0].constituents();
+ fastjet::contrib::FlavInfo flavj = fastjet::contrib::FlavHistory::current_flavour_of(sdj[0]);
+ for(size_t i=1; i < sdj.size(); i++){
+ flavj = flavj+fastjet::contrib::FlavHistory::current_flavour_of(sdj[i]);
+ }
+ // apply modulo_2 if required
+ if(_modulo_2) {
+ flavj.apply_modulo_2();
+ //std::cout<<"Applied modulo_2 flavour recombination\n";
+ }
+ // if(jet.constituents().size() != sdj.size()) {
+ // std::cout<<jet.constituents().size()<<" "<<sdj.size()<<"\n";
+ // for(auto p: jet.constituents()) std::cout<<FlavHistory::current_flavour_of(p).description()<<"\n";
+ // std::cout<<"---------\n";
+ // for(auto p: sdj) std::cout<<FlavHistory::current_flavour_of(p).description()<<"\n";
+ // std::cout<<"**********\n";
+ // }
+ jet.set_user_info(new fastjet::contrib::FlavHistory(flavj));
+}
+
+void SDFlavourCalc::operator()(std::vector<fastjet::PseudoJet>& jets) {
+ for(fastjet::PseudoJet& jet: jets) {
+ operator()(jet);
+ }
+}
+
+void SDFlavourCalc::check_flav_recombination(const fastjet::JetDefinition &jet_def) const{
+ const auto *flav_recombiner = dynamic_cast<const fastjet::contrib::FlavRecombiner*>(jet_def.recombiner());
+ if (flav_recombiner) {
+ if (_modulo_2) {
+ if (flav_recombiner->flav_summation() != fastjet::contrib::FlavRecombiner::modulo_2) {
+ throw fastjet::Error("SDFlavourCalc: modulo_2 is activated, but JetDefinition uses flav_summation != modulo_2");
+ }
+ } else {
+ if (flav_recombiner->flav_summation() != fastjet::contrib::FlavRecombiner::net) {
+ throw fastjet::Error("SDFlavourCalc: modulo_2 is not activated, but JetDefinition uses flav_summation != net");
+ }
+ }
+ };
+ };
+
+} // namespace contrib
+
+FASTJET_END_NAMESPACE
Index: contrib/contribs/SDFPlugin/tags/1.0.2/example-SDF.ref
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/example-SDF.ref (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/example-SDF.ref (revision 1522)
@@ -0,0 +1,1484 @@
+#--------------------------------------------------------------------------
+# FastJet release 3.4.1
+# M. Cacciari, G.P. Salam and G. Soyez
+# A software package for jet finding and analysis at colliders
+# http://fastjet.fr
+#
+# Please cite EPJC72(2012)1896 [arXiv:1111.6097] if you use this package
+# for scientific work and optionally PLB641(2006)57 [hep-ph/0512210].
+#
+# FastJet is provided without warranty under the GNU GPL v2 or higher.
+# It uses T. Chan's closest pair algorithm, S. Fortune's Voronoi code
+# and 3rd party plugin jet algorithms. See COPYING file for details.
+#--------------------------------------------------------------------------
+
+#---------------------------------------------------------------
+# read event 0 with 64 particles
+now do the sd...
+
+base jet 0: pt=160.77 rap=0.90783 phi=0.366217, flav = [u ]
+SD flav jet 0: pt=160.77 rap=0.90783 phi=0.366217, flav = [u ]
+
+base jet 1: pt=8.49978 rap=0.550912 phi=0.0241549, flav = [d u ]
+SD flav jet 1: pt=8.49978 rap=0.550912 phi=0.0241549, flav = [d u ]
+
+base jet 2: pt=7.96449 rap=1.98751 phi=4.56023, flav = [bbar bbar ]
+SD flav jet 2: pt=7.96449 rap=1.98751 phi=4.56023, flav = [bbar bbar ]
+
+base jet 3: pt=7.44626 rap=0.0690523 phi=0.605221, flav = [u s ]
+SD flav jet 3: pt=7.44626 rap=0.0690523 phi=0.605221, flav = [u s ]
+
+base jet 4: pt=7.3402 rap=0.00843489 phi=1.28811, flav = [dbar ubar ]
+SD flav jet 4: pt=7.3402 rap=0.00843489 phi=1.28811, flav = [dbar ubar ]
+
+base jet 5: pt=3.27161 rap=-0.407406 phi=4.65289, flav = [g]
+SD flav jet 5: pt=3.27161 rap=-0.407406 phi=4.65289, flav = [g]
+
+base jet 6: pt=3.21146 rap=0.501387 phi=4.22762, flav = [g]
+SD flav jet 6: pt=3.21146 rap=0.501387 phi=4.22762, flav = [g]
+
+base jet 7: pt=2.96585 rap=3.85741 phi=5.05258, flav = [d ]
+SD flav jet 7: pt=2.96585 rap=3.85741 phi=5.05258, flav = [d ]
+
+base jet 8: pt=2.84607 rap=1.24282 phi=1.60851, flav = [sbar ]
+SD flav jet 8: pt=2.84607 rap=1.24282 phi=1.60851, flav = [sbar ]
+
+base jet 9: pt=1.94069 rap=1.56491 phi=4.28638, flav = [g]
+SD flav jet 9: pt=1.94069 rap=1.56491 phi=4.28638, flav = [g]
+
+base jet 10: pt=1.87908 rap=3.51836 phi=5.38263, flav = [dbar ]
+SD flav jet 10: pt=1.87908 rap=3.51836 phi=5.38263, flav = [dbar ]
+
+base jet 11: pt=1.82013 rap=1.72083 phi=1.98468, flav = [g]
+SD flav jet 11: pt=1.82013 rap=1.72083 phi=1.98468, flav = [g]
+
+base jet 12: pt=1.71472 rap=-0.0741472 phi=3.83835, flav = [g]
+SD flav jet 12: pt=1.71472 rap=-0.0741472 phi=3.83835, flav = [g]
+
+base jet 13: pt=1.45959 rap=0.180121 phi=0.199993, flav = [cbar ]
+SD flav jet 13: pt=1.45959 rap=0.180121 phi=0.199993, flav = [cbar ]
+
+base jet 14: pt=1.44142 rap=-2.62404 phi=3.36924, flav = [sbar ]
+SD flav jet 14: pt=1.44142 rap=-2.62404 phi=3.36924, flav = [sbar ]
+
+base jet 15: pt=1.23947 rap=6.23036 phi=4.31063, flav = [d u ]
+SD flav jet 15: pt=1.23947 rap=6.23036 phi=4.31063, flav = [d u ]
+
+base jet 16: pt=1.21019 rap=-1.34209 phi=4.33514, flav = [bbar ]
+SD flav jet 16: pt=1.21019 rap=-1.34209 phi=4.33514, flav = [bbar ]
+
+base jet 17: pt=1.16347 rap=-0.368498 phi=2.92186, flav = [cbar ]
+SD flav jet 17: pt=1.16347 rap=-0.368498 phi=2.92186, flav = [cbar ]
+
+base jet 18: pt=1.15743 rap=0.113967 phi=5.07935, flav = [g]
+SD flav jet 18: pt=1.15743 rap=0.113967 phi=5.07935, flav = [g]
+
+base jet 19: pt=1.06287 rap=1.22708 phi=2.585, flav = [c ]
+SD flav jet 19: pt=1.06287 rap=1.22708 phi=2.585, flav = [c ]
+
+base jet 20: pt=1.02474 rap=-2.46634 phi=4.40107, flav = [g]
+SD flav jet 20: pt=1.02474 rap=-2.46634 phi=4.40107, flav = [g]
+
+base jet 21: pt=0.853336 rap=-0.301915 phi=1.00563, flav = [d ]
+SD flav jet 21: pt=0.853336 rap=-0.301915 phi=1.00563, flav = [d ]
+
+base jet 22: pt=0.769826 rap=-0.786678 phi=4.07458, flav = [u ]
+SD flav jet 22: pt=0.769826 rap=-0.786678 phi=4.07458, flav = [u ]
+
+base jet 23: pt=0.760885 rap=0.633055 phi=0.678284, flav = [g]
+SD flav jet 23: pt=0.760885 rap=0.633055 phi=0.678284, flav = [g]
+
+base jet 24: pt=0.67701 rap=2.89705 phi=5.54088, flav = [g]
+SD flav jet 24: pt=0.67701 rap=2.89705 phi=5.54088, flav = [g]
+
+base jet 25: pt=0.630838 rap=-1.60383 phi=3.31619, flav = [g]
+SD flav jet 25: pt=0.630838 rap=-1.60383 phi=3.31619, flav = [g]
+
+base jet 26: pt=0.576939 rap=-7.47203 phi=4.25877, flav = [d u ]
+SD flav jet 26: pt=0.576939 rap=-7.47203 phi=4.25877, flav = [d u ]
+
+base jet 27: pt=0.512529 rap=-2.37706 phi=1.70759, flav = [g]
+SD flav jet 27: pt=0.512529 rap=-2.37706 phi=1.70759, flav = [g]
+
+base jet 28: pt=0.50689 rap=0.940743 phi=5.67736, flav = [g]
+SD flav jet 28: pt=0.50689 rap=0.940743 phi=5.67736, flav = [g]
+
+base jet 29: pt=0.481995 rap=-1.11306 phi=2.77235, flav = [g]
+SD flav jet 29: pt=0.481995 rap=-1.11306 phi=2.77235, flav = [g]
+
+base jet 30: pt=0.44368 rap=1.07817 phi=4.91583, flav = [g]
+SD flav jet 30: pt=0.44368 rap=1.07817 phi=4.91583, flav = [g]
+
+base jet 31: pt=0.439767 rap=3.6931 phi=1.64782, flav = [c ]
+SD flav jet 31: pt=0.439767 rap=3.6931 phi=1.64782, flav = [c ]
+
+base jet 32: pt=0.417598 rap=-1.75011 phi=0.660275, flav = [d ]
+SD flav jet 32: pt=0.417598 rap=-1.75011 phi=0.660275, flav = [d ]
+
+base jet 33: pt=0.388286 rap=-6.47478 phi=0.45092, flav = [u ]
+SD flav jet 33: pt=0.388286 rap=-6.47478 phi=0.45092, flav = [u ]
+
+base jet 34: pt=0.386049 rap=1.39697 phi=0.0759585, flav = [dbar ]
+SD flav jet 34: pt=0.386049 rap=1.39697 phi=0.0759585, flav = [dbar ]
+
+base jet 35: pt=0.328926 rap=0.0540854 phi=6.06608, flav = [g]
+SD flav jet 35: pt=0.328926 rap=0.0540854 phi=6.06608, flav = [g]
+
+base jet 36: pt=0.318562 rap=2.26857 phi=2.89181, flav = [u ]
+SD flav jet 36: pt=0.318562 rap=2.26857 phi=2.89181, flav = [u ]
+
+base jet 37: pt=0.249964 rap=-0.616062 phi=2.05125, flav = [g]
+SD flav jet 37: pt=0.249964 rap=-0.616062 phi=2.05125, flav = [g]
+
+base jet 38: pt=0.247897 rap=2.10803 phi=5.56523, flav = [bbar ]
+SD flav jet 38: pt=0.247897 rap=2.10803 phi=5.56523, flav = [bbar ]
+
+base jet 39: pt=0.222556 rap=0.768118 phi=1.34336, flav = [g]
+SD flav jet 39: pt=0.222556 rap=0.768118 phi=1.34336, flav = [g]
+
+base jet 40: pt=0.0517697 rap=-1.69026 phi=4.56152, flav = [g]
+SD flav jet 40: pt=0.0517697 rap=-1.69026 phi=4.56152, flav = [g]
+
+base jet 41: pt=0.00736101 rap=0.780826 phi=3.63937, flav = [g]
+SD flav jet 41: pt=0.00736101 rap=0.780826 phi=3.63937, flav = [g]
+
+#---------------------------------------------------------------
+# read event 1 with 91 particles
+now do the sd...
+
+base jet 0: pt=143.136 rap=1.00816 phi=0.315751, flav = [bbar tbar ]
+SD flav jet 0: pt=143.136 rap=1.00816 phi=0.315751, flav = [bbar tbar ]
+
+base jet 1: pt=6.05867 rap=0.0649657 phi=3.29464, flav = [g]
+SD flav jet 1: pt=6.05867 rap=0.0649657 phi=3.29464, flav = [g]
+
+base jet 2: pt=3.58636 rap=0.193706 phi=5.36693, flav = [d ]
+SD flav jet 2: pt=3.58636 rap=0.193706 phi=5.36693, flav = [d ]
+
+base jet 3: pt=3.49044 rap=-0.149006 phi=0.716449, flav = [d b ]
+SD flav jet 3: pt=3.49044 rap=-0.149006 phi=0.716449, flav = [d b ]
+
+base jet 4: pt=3.41124 rap=2.29203 phi=3.90154, flav = [g]
+SD flav jet 4: pt=3.41124 rap=2.29203 phi=3.90154, flav = [g]
+
+base jet 5: pt=3.01848 rap=3.14716 phi=5.74679, flav = [g]
+SD flav jet 5: pt=3.01848 rap=3.14716 phi=5.74679, flav = [g]
+
+base jet 6: pt=2.82862 rap=-3.73093 phi=1.35695, flav = [d ]
+SD flav jet 6: pt=2.82862 rap=-3.73093 phi=1.35695, flav = [d ]
+
+base jet 7: pt=2.80011 rap=-0.469935 phi=2.60928, flav = [s ]
+SD flav jet 7: pt=2.80011 rap=-0.469935 phi=2.60928, flav = [s ]
+
+base jet 8: pt=2.77666 rap=0.391043 phi=6.2483, flav = [s c ]
+SD flav jet 8: pt=2.77666 rap=0.391043 phi=6.2483, flav = [s c ]
+
+base jet 9: pt=2.77306 rap=2.38653 phi=6.2755, flav = [d u ]
+SD flav jet 9: pt=2.77306 rap=2.38653 phi=6.2755, flav = [d u ]
+
+base jet 10: pt=2.68261 rap=-1.97425 phi=3.65305, flav = [u ]
+SD flav jet 10: pt=2.68261 rap=-1.97425 phi=3.65305, flav = [u ]
+
+base jet 11: pt=2.61389 rap=-1.62422 phi=0.381118, flav = [s ]
+SD flav jet 11: pt=2.61389 rap=-1.62422 phi=0.381118, flav = [s ]
+
+base jet 12: pt=2.29673 rap=-2.33543 phi=5.56451, flav = [g]
+SD flav jet 12: pt=2.29673 rap=-2.33543 phi=5.56451, flav = [g]
+
+base jet 13: pt=2.06971 rap=-3.70133 phi=4.17462, flav = [g]
+SD flav jet 13: pt=2.06971 rap=-3.70133 phi=4.17462, flav = [g]
+
+base jet 14: pt=1.92048 rap=0.53675 phi=0.960671, flav = [sbar ]
+SD flav jet 14: pt=1.92048 rap=0.53675 phi=0.960671, flav = [sbar ]
+
+base jet 15: pt=1.92 rap=-3.26105 phi=2.39568, flav = [cbar ]
+SD flav jet 15: pt=1.92 rap=-3.26105 phi=2.39568, flav = [cbar ]
+
+base jet 16: pt=1.48458 rap=1.55754 phi=2.47298, flav = [g]
+SD flav jet 16: pt=1.48458 rap=1.55754 phi=2.47298, flav = [g]
+
+base jet 17: pt=1.44491 rap=1.68236 phi=4.80464, flav = [dbar ]
+SD flav jet 17: pt=1.44491 rap=1.68236 phi=4.80464, flav = [dbar ]
+
+base jet 18: pt=1.38599 rap=0.335099 phi=4.26118, flav = [b ]
+SD flav jet 18: pt=1.38599 rap=0.335099 phi=4.26118, flav = [b ]
+
+base jet 19: pt=1.35669 rap=4.20634 phi=2.47973, flav = [d ]
+SD flav jet 19: pt=1.35669 rap=4.20634 phi=2.47973, flav = [d ]
+
+base jet 20: pt=1.22377 rap=2.75199 phi=5.85133, flav = [dbar ]
+SD flav jet 20: pt=1.22377 rap=2.75199 phi=5.85133, flav = [dbar ]
+
+base jet 21: pt=1.18313 rap=2.81888 phi=0.313522, flav = [g]
+SD flav jet 21: pt=1.18313 rap=2.81888 phi=0.313522, flav = [g]
+
+base jet 22: pt=1.17584 rap=-0.493954 phi=3.58193, flav = [g]
+SD flav jet 22: pt=1.17584 rap=-0.493954 phi=3.58193, flav = [g]
+
+base jet 23: pt=1.11816 rap=-2.10896 phi=0.526007, flav = [b ]
+SD flav jet 23: pt=1.11816 rap=-2.10896 phi=0.526007, flav = [b ]
+
+base jet 24: pt=1.08848 rap=-1.34539 phi=1.07665, flav = [g]
+SD flav jet 24: pt=1.08848 rap=-1.34539 phi=1.07665, flav = [g]
+
+base jet 25: pt=1.07877 rap=-4.11914 phi=4.3603, flav = [d ]
+SD flav jet 25: pt=1.07877 rap=-4.11914 phi=4.3603, flav = [d ]
+
+base jet 26: pt=0.953084 rap=-1.50513 phi=3.0102, flav = [g]
+SD flav jet 26: pt=0.953084 rap=-1.50513 phi=3.0102, flav = [g]
+
+base jet 27: pt=0.945861 rap=-5.4698 phi=6.12483, flav = [d ]
+SD flav jet 27: pt=0.945861 rap=-5.4698 phi=6.12483, flav = [d ]
+
+base jet 28: pt=0.878457 rap=2.69632 phi=2.31983, flav = [sbar ]
+SD flav jet 28: pt=0.878457 rap=2.69632 phi=2.31983, flav = [sbar ]
+
+base jet 29: pt=0.873632 rap=0.190396 phi=2.56701, flav = [bbar ]
+SD flav jet 29: pt=0.873632 rap=0.190396 phi=2.56701, flav = [bbar ]
+
+base jet 30: pt=0.856031 rap=1.2279 phi=4.62162, flav = [tbar tbar ]
+SD flav jet 30: pt=0.856031 rap=1.2279 phi=4.62162, flav = [tbar tbar ]
+
+base jet 31: pt=0.852897 rap=-0.654192 phi=1.43833, flav = [d s ]
+SD flav jet 31: pt=0.852897 rap=-0.654192 phi=1.43833, flav = [d s ]
+
+base jet 32: pt=0.782025 rap=-3.82596 phi=5.01091, flav = [sbar ]
+SD flav jet 32: pt=0.782025 rap=-3.82596 phi=5.01091, flav = [sbar ]
+
+base jet 33: pt=0.779432 rap=-1.7142 phi=5.49623, flav = [sbar ]
+SD flav jet 33: pt=0.779432 rap=-1.7142 phi=5.49623, flav = [sbar ]
+
+base jet 34: pt=0.771015 rap=4.3702 phi=1.83947, flav = [d ]
+SD flav jet 34: pt=0.771015 rap=4.3702 phi=1.83947, flav = [d ]
+
+base jet 35: pt=0.759793 rap=-4.63334 phi=0.348931, flav = [g]
+SD flav jet 35: pt=0.759793 rap=-4.63334 phi=0.348931, flav = [g]
+
+base jet 36: pt=0.743978 rap=-1.25191 phi=4.17609, flav = [t ]
+SD flav jet 36: pt=0.743978 rap=-1.25191 phi=4.17609, flav = [t ]
+
+base jet 37: pt=0.728298 rap=3.25587 phi=2.61844, flav = [ubar ]
+SD flav jet 37: pt=0.728298 rap=3.25587 phi=2.61844, flav = [ubar ]
+
+base jet 38: pt=0.719598 rap=-2.11331 phi=2.20152, flav = [g]
+SD flav jet 38: pt=0.719598 rap=-2.11331 phi=2.20152, flav = [g]
+
+base jet 39: pt=0.682855 rap=-1.90111 phi=1.64187, flav = [g]
+SD flav jet 39: pt=0.682855 rap=-1.90111 phi=1.64187, flav = [g]
+
+base jet 40: pt=0.668062 rap=-3.55152 phi=3.41624, flav = [g]
+SD flav jet 40: pt=0.668062 rap=-3.55152 phi=3.41624, flav = [g]
+
+base jet 41: pt=0.611448 rap=3.3453 phi=3.75899, flav = [dbar ]
+SD flav jet 41: pt=0.611448 rap=3.3453 phi=3.75899, flav = [dbar ]
+
+base jet 42: pt=0.591053 rap=7.16017 phi=1.91984, flav = [u ]
+SD flav jet 42: pt=0.591053 rap=7.16017 phi=1.91984, flav = [u ]
+
+base jet 43: pt=0.558173 rap=-4.24347 phi=3.66288, flav = [dbar ]
+SD flav jet 43: pt=0.558173 rap=-4.24347 phi=3.66288, flav = [dbar ]
+
+base jet 44: pt=0.487133 rap=2.1083 phi=2.35829, flav = [g]
+SD flav jet 44: pt=0.487133 rap=2.1083 phi=2.35829, flav = [g]
+
+base jet 45: pt=0.453849 rap=1.60355 phi=5.26047, flav = [g]
+SD flav jet 45: pt=0.453849 rap=1.60355 phi=5.26047, flav = [g]
+
+base jet 46: pt=0.431865 rap=5.46715 phi=3.61077, flav = [u ]
+SD flav jet 46: pt=0.431865 rap=5.46715 phi=3.61077, flav = [u ]
+
+base jet 47: pt=0.429176 rap=-1.22649 phi=2.33468, flav = [g]
+SD flav jet 47: pt=0.429176 rap=-1.22649 phi=2.33468, flav = [g]
+
+base jet 48: pt=0.391055 rap=-2.77206 phi=1.33661, flav = [t ]
+SD flav jet 48: pt=0.391055 rap=-2.77206 phi=1.33661, flav = [t ]
+
+base jet 49: pt=0.370242 rap=-2.85766 phi=4.76131, flav = [g]
+SD flav jet 49: pt=0.370242 rap=-2.85766 phi=4.76131, flav = [g]
+
+base jet 50: pt=0.361895 rap=1.96591 phi=3.55174, flav = [s ]
+SD flav jet 50: pt=0.361895 rap=1.96591 phi=3.55174, flav = [s ]
+
+base jet 51: pt=0.361562 rap=-1.46941 phi=1.61668, flav = [g]
+SD flav jet 51: pt=0.361562 rap=-1.46941 phi=1.61668, flav = [g]
+
+base jet 52: pt=0.352232 rap=0.692781 phi=2.85168, flav = [g]
+SD flav jet 52: pt=0.352232 rap=0.692781 phi=2.85168, flav = [g]
+
+base jet 53: pt=0.345302 rap=-5.77666 phi=5.7911, flav = [c ]
+SD flav jet 53: pt=0.345302 rap=-5.77666 phi=5.7911, flav = [c ]
+
+base jet 54: pt=0.297851 rap=2.7629 phi=1.8896, flav = [d ]
+SD flav jet 54: pt=0.297851 rap=2.7629 phi=1.8896, flav = [d ]
+
+base jet 55: pt=0.279278 rap=3.51562 phi=4.97096, flav = [g]
+SD flav jet 55: pt=0.279278 rap=3.51562 phi=4.97096, flav = [g]
+
+base jet 56: pt=0.213923 rap=1.06514 phi=1.18679, flav = [dbar ]
+SD flav jet 56: pt=0.213923 rap=1.06514 phi=1.18679, flav = [dbar ]
+
+base jet 57: pt=0.213736 rap=-6.54445 phi=5.44883, flav = [d u ]
+SD flav jet 57: pt=0.213736 rap=-6.54445 phi=5.44883, flav = [d u ]
+
+base jet 58: pt=0.202974 rap=-3.2913 phi=1.1752, flav = [ubar ]
+SD flav jet 58: pt=0.202974 rap=-3.2913 phi=1.1752, flav = [ubar ]
+
+base jet 59: pt=0.197693 rap=-2.4371 phi=4.07095, flav = [bbar ]
+SD flav jet 59: pt=0.197693 rap=-2.4371 phi=4.07095, flav = [bbar ]
+
+base jet 60: pt=0.196554 rap=2.53804 phi=1.55713, flav = [ubar ]
+SD flav jet 60: pt=0.196554 rap=2.53804 phi=1.55713, flav = [ubar ]
+
+base jet 61: pt=0.194348 rap=-1.67692 phi=4.83327, flav = [g]
+SD flav jet 61: pt=0.194348 rap=-1.67692 phi=4.83327, flav = [g]
+
+base jet 62: pt=0.173009 rap=3.47812 phi=3.29596, flav = [g]
+SD flav jet 62: pt=0.173009 rap=3.47812 phi=3.29596, flav = [g]
+
+base jet 63: pt=0.172712 rap=-6.74206 phi=4.07209, flav = [u ]
+SD flav jet 63: pt=0.172712 rap=-6.74206 phi=4.07209, flav = [u ]
+
+base jet 64: pt=0.159647 rap=-0.65415 phi=4.27448, flav = [g]
+SD flav jet 64: pt=0.159647 rap=-0.65415 phi=4.27448, flav = [g]
+
+base jet 65: pt=0.151099 rap=-2.34689 phi=3.37457, flav = [g]
+SD flav jet 65: pt=0.151099 rap=-2.34689 phi=3.37457, flav = [g]
+
+base jet 66: pt=0.0642579 rap=-3.11322 phi=1.7564, flav = [g]
+SD flav jet 66: pt=0.0642579 rap=-3.11322 phi=1.7564, flav = [g]
+
+#---------------------------------------------------------------
+# read event 2 with 67 particles
+now do the sd...
+
+base jet 0: pt=72.6916 rap=0.0676305 phi=6.26665, flav = [dbar u c ]
+SD flav jet 0: pt=72.6916 rap=0.0676305 phi=6.26665, flav = [dbar u c ]
+
+base jet 1: pt=30.4721 rap=-1.2557 phi=1.37855, flav = [ubar bbar t ]
+SD flav jet 1: pt=30.4721 rap=-1.2557 phi=1.37855, flav = [ubar bbar t ]
+
+base jet 2: pt=21.2516 rap=0.467594 phi=5.0756, flav = [cbar cbar ]
+SD flav jet 2: pt=21.2516 rap=0.467594 phi=5.0756, flav = [cbar cbar ]
+
+base jet 3: pt=20.9087 rap=0.858619 phi=5.39029, flav = [ubar ]
+SD flav jet 3: pt=20.9087 rap=0.858619 phi=5.39029, flav = [ubar ]
+
+base jet 4: pt=19.611 rap=1.0372 phi=1.25711, flav = [cbar b t ]
+SD flav jet 4: pt=19.611 rap=1.0372 phi=1.25711, flav = [cbar b t ]
+
+base jet 5: pt=18.1229 rap=0.951132 phi=6.13624, flav = [cbar cbar bbar ]
+SD flav jet 5: pt=18.1229 rap=0.951132 phi=6.13624, flav = [cbar cbar bbar ]
+
+base jet 6: pt=9.64769 rap=-0.34528 phi=5.73185, flav = [cbar ]
+SD flav jet 6: pt=9.64769 rap=-0.34528 phi=5.73185, flav = [cbar ]
+
+base jet 7: pt=6.70531 rap=0.415159 phi=0.886058, flav = [u cbar ]
+SD flav jet 7: pt=6.70531 rap=0.415159 phi=0.886058, flav = [u cbar ]
+
+base jet 8: pt=6.3585 rap=3.17208 phi=3.4689, flav = [sbar ]
+SD flav jet 8: pt=6.3585 rap=3.17208 phi=3.4689, flav = [sbar ]
+
+base jet 9: pt=3.52758 rap=-0.619235 phi=2.98305, flav = [c ]
+SD flav jet 9: pt=3.52758 rap=-0.619235 phi=2.98305, flav = [c ]
+
+base jet 10: pt=3.26785 rap=-1.98045 phi=1.33641, flav = [dbar ]
+SD flav jet 10: pt=3.26785 rap=-1.98045 phi=1.33641, flav = [dbar ]
+
+base jet 11: pt=2.95687 rap=-0.46936 phi=3.53134, flav = [bbar ]
+SD flav jet 11: pt=2.95687 rap=-0.46936 phi=3.53134, flav = [bbar ]
+
+base jet 12: pt=2.39443 rap=-1.04658 phi=1.77051, flav = [t ]
+SD flav jet 12: pt=2.39443 rap=-1.04658 phi=1.77051, flav = [t ]
+
+base jet 13: pt=2.17275 rap=2.71029 phi=4.02432, flav = [s ]
+SD flav jet 13: pt=2.17275 rap=2.71029 phi=4.02432, flav = [s ]
+
+base jet 14: pt=2.00771 rap=-2.66636 phi=1.9793, flav = [g]
+SD flav jet 14: pt=2.00771 rap=-2.66636 phi=1.9793, flav = [g]
+
+base jet 15: pt=1.68935 rap=0.54944 phi=1.45194, flav = [g]
+SD flav jet 15: pt=1.68935 rap=0.54944 phi=1.45194, flav = [g]
+
+base jet 16: pt=1.56645 rap=-2.45543 phi=0.857032, flav = [g]
+SD flav jet 16: pt=1.56645 rap=-2.45543 phi=0.857032, flav = [g]
+
+base jet 17: pt=1.25273 rap=2.2372 phi=4.98823, flav = [d ]
+SD flav jet 17: pt=1.25273 rap=2.2372 phi=4.98823, flav = [d ]
+
+base jet 18: pt=1.04324 rap=-0.0410581 phi=4.79549, flav = [g]
+SD flav jet 18: pt=1.04324 rap=-0.0410581 phi=4.79549, flav = [g]
+
+base jet 19: pt=0.98457 rap=-0.90234 phi=1.03741, flav = [g]
+SD flav jet 19: pt=0.98457 rap=-0.90234 phi=1.03741, flav = [g]
+
+base jet 20: pt=0.940359 rap=-7.05493 phi=4.47708, flav = [d u ]
+SD flav jet 20: pt=0.940359 rap=-7.05493 phi=4.47708, flav = [d u ]
+
+base jet 21: pt=0.656026 rap=7.36601 phi=2.83859, flav = [d u ]
+SD flav jet 21: pt=0.656026 rap=7.36601 phi=2.83859, flav = [d u ]
+
+base jet 22: pt=0.606412 rap=3.31014 phi=4.20996, flav = [s ]
+SD flav jet 22: pt=0.606412 rap=3.31014 phi=4.20996, flav = [s ]
+
+base jet 23: pt=0.572105 rap=-3.68589 phi=0.864249, flav = [b ]
+SD flav jet 23: pt=0.572105 rap=-3.68589 phi=0.864249, flav = [b ]
+
+base jet 24: pt=0.552919 rap=1.8734 phi=5.59751, flav = [g]
+SD flav jet 24: pt=0.552919 rap=1.8734 phi=5.59751, flav = [g]
+
+base jet 25: pt=0.522022 rap=1.66103 phi=1.55341, flav = [g]
+SD flav jet 25: pt=0.522022 rap=1.66103 phi=1.55341, flav = [g]
+
+base jet 26: pt=0.479117 rap=-4.48708 phi=5.41494, flav = [b ]
+SD flav jet 26: pt=0.479117 rap=-4.48708 phi=5.41494, flav = [b ]
+
+base jet 27: pt=0.474687 rap=0.934876 phi=4.28687, flav = [t ]
+SD flav jet 27: pt=0.474687 rap=0.934876 phi=4.28687, flav = [t ]
+
+base jet 28: pt=0.300278 rap=3.76919 phi=5.04174, flav = [b ]
+SD flav jet 28: pt=0.300278 rap=3.76919 phi=5.04174, flav = [b ]
+
+base jet 29: pt=0.288055 rap=1.21298 phi=2.73595, flav = [s ]
+SD flav jet 29: pt=0.288055 rap=1.21298 phi=2.73595, flav = [s ]
+
+base jet 30: pt=0.283717 rap=-2.51705 phi=2.86873, flav = [g]
+SD flav jet 30: pt=0.283717 rap=-2.51705 phi=2.86873, flav = [g]
+
+base jet 31: pt=0.277488 rap=-1.26759 phi=0.396167, flav = [g]
+SD flav jet 31: pt=0.277488 rap=-1.26759 phi=0.396167, flav = [g]
+
+base jet 32: pt=0.181345 rap=-3.192 phi=4.5503, flav = [g]
+SD flav jet 32: pt=0.181345 rap=-3.192 phi=4.5503, flav = [g]
+
+base jet 33: pt=0.0214389 rap=-0.76379 phi=2.51577, flav = [g]
+SD flav jet 33: pt=0.0214389 rap=-0.76379 phi=2.51577, flav = [g]
+
+#---------------------------------------------------------------
+# read event 3 with 62 particles
+now do the sd...
+
+base jet 0: pt=113.596 rap=0.884767 phi=2.15347, flav = [u sbar cbar bbar ]
+SD flav jet 0: pt=113.596 rap=0.884767 phi=2.15347, flav = [u sbar cbar bbar ]
+
+base jet 1: pt=3.10448 rap=3.11464 phi=3.8646, flav = [ubar sbar ]
+SD flav jet 1: pt=3.10448 rap=3.11464 phi=3.8646, flav = [ubar sbar ]
+
+base jet 2: pt=3.0582 rap=0.648404 phi=3.39078, flav = [d s ]
+SD flav jet 2: pt=3.0582 rap=0.648404 phi=3.39078, flav = [d s ]
+
+base jet 3: pt=2.69438 rap=0.14305 phi=2.06223, flav = [bbar ]
+SD flav jet 3: pt=2.69438 rap=0.14305 phi=2.06223, flav = [bbar ]
+
+base jet 4: pt=2.65086 rap=-4.60299 phi=0.987066, flav = [d ]
+SD flav jet 4: pt=2.65086 rap=-4.60299 phi=0.987066, flav = [d ]
+
+base jet 5: pt=2.08811 rap=-0.43226 phi=1.74763, flav = [s ]
+SD flav jet 5: pt=2.08811 rap=-0.43226 phi=1.74763, flav = [s ]
+
+base jet 6: pt=1.77403 rap=3.12402 phi=3.18288, flav = [d ]
+SD flav jet 6: pt=1.77403 rap=3.12402 phi=3.18288, flav = [d ]
+
+base jet 7: pt=1.66544 rap=-5.04812 phi=3.72053, flav = [d ]
+SD flav jet 7: pt=1.66544 rap=-5.04812 phi=3.72053, flav = [d ]
+
+base jet 8: pt=1.63373 rap=-0.82687 phi=2.08532, flav = [sbar ]
+SD flav jet 8: pt=1.63373 rap=-0.82687 phi=2.08532, flav = [sbar ]
+
+base jet 9: pt=1.5966 rap=-2.62067 phi=1.81629, flav = [ubar ]
+SD flav jet 9: pt=1.5966 rap=-2.62067 phi=1.81629, flav = [ubar ]
+
+base jet 10: pt=1.53071 rap=2.11665 phi=5.80676, flav = [g]
+SD flav jet 10: pt=1.53071 rap=2.11665 phi=5.80676, flav = [g]
+
+base jet 11: pt=1.38297 rap=2.92509 phi=4.83591, flav = [u ]
+SD flav jet 11: pt=1.38297 rap=2.92509 phi=4.83591, flav = [u ]
+
+base jet 12: pt=1.17851 rap=-5.30359 phi=1.19263, flav = [g]
+SD flav jet 12: pt=1.17851 rap=-5.30359 phi=1.19263, flav = [g]
+
+base jet 13: pt=1.16211 rap=-3.00612 phi=1.19331, flav = [u b ]
+SD flav jet 13: pt=1.16211 rap=-3.00612 phi=1.19331, flav = [u b ]
+
+base jet 14: pt=1.14817 rap=6.6527 phi=2.39345, flav = [s ]
+SD flav jet 14: pt=1.14817 rap=6.6527 phi=2.39345, flav = [s ]
+
+base jet 15: pt=1.12759 rap=2.0369 phi=4.74048, flav = [sbar b ]
+SD flav jet 15: pt=1.12759 rap=2.0369 phi=4.74048, flav = [sbar b ]
+
+base jet 16: pt=1.09642 rap=-0.67831 phi=5.89701, flav = [c bbar ]
+SD flav jet 16: pt=1.09642 rap=-0.67831 phi=5.89701, flav = [c bbar ]
+
+base jet 17: pt=1.08025 rap=-1.19107 phi=5.63343, flav = [ubar ]
+SD flav jet 17: pt=1.08025 rap=-1.19107 phi=5.63343, flav = [ubar ]
+
+base jet 18: pt=1.06428 rap=-0.289554 phi=0.999268, flav = [t ]
+SD flav jet 18: pt=1.06428 rap=-0.289554 phi=0.999268, flav = [t ]
+
+base jet 19: pt=1.0457 rap=6.05529 phi=1.52444, flav = [d u ]
+SD flav jet 19: pt=1.0457 rap=6.05529 phi=1.52444, flav = [d u ]
+
+base jet 20: pt=1.01488 rap=-1.44591 phi=4.03646, flav = [u ]
+SD flav jet 20: pt=1.01488 rap=-1.44591 phi=4.03646, flav = [u ]
+
+base jet 21: pt=0.993602 rap=-0.0869548 phi=4.15804, flav = [d bbar ]
+SD flav jet 21: pt=0.993602 rap=-0.0869548 phi=4.15804, flav = [d bbar ]
+
+base jet 22: pt=0.985143 rap=1.96485 phi=4.02595, flav = [g]
+SD flav jet 22: pt=0.985143 rap=1.96485 phi=4.02595, flav = [g]
+
+base jet 23: pt=0.945258 rap=-0.810838 phi=3.6483, flav = [u ]
+SD flav jet 23: pt=0.945258 rap=-0.810838 phi=3.6483, flav = [u ]
+
+base jet 24: pt=0.901582 rap=1.47923 phi=4.01952, flav = [g]
+SD flav jet 24: pt=0.901582 rap=1.47923 phi=4.01952, flav = [g]
+
+base jet 25: pt=0.856581 rap=-3.49619 phi=1.14963, flav = [g]
+SD flav jet 25: pt=0.856581 rap=-3.49619 phi=1.14963, flav = [g]
+
+base jet 26: pt=0.735732 rap=-1.52619 phi=1.92998, flav = [cbar ]
+SD flav jet 26: pt=0.735732 rap=-1.52619 phi=1.92998, flav = [cbar ]
+
+base jet 27: pt=0.714956 rap=-1.07483 phi=1.08822, flav = [bbar ]
+SD flav jet 27: pt=0.714956 rap=-1.07483 phi=1.08822, flav = [bbar ]
+
+base jet 28: pt=0.635763 rap=-2.31917 phi=0.438751, flav = [c ]
+SD flav jet 28: pt=0.635763 rap=-2.31917 phi=0.438751, flav = [c ]
+
+base jet 29: pt=0.616757 rap=0.233943 phi=1.47353, flav = [sbar ]
+SD flav jet 29: pt=0.616757 rap=0.233943 phi=1.47353, flav = [sbar ]
+
+base jet 30: pt=0.587412 rap=-4.58221 phi=3.70546, flav = [bbar ]
+SD flav jet 30: pt=0.587412 rap=-4.58221 phi=3.70546, flav = [bbar ]
+
+base jet 31: pt=0.538598 rap=0.369704 phi=2.99212, flav = [g]
+SD flav jet 31: pt=0.538598 rap=0.369704 phi=2.99212, flav = [g]
+
+base jet 32: pt=0.458607 rap=-0.371276 phi=2.87821, flav = [c ]
+SD flav jet 32: pt=0.458607 rap=-0.371276 phi=2.87821, flav = [c ]
+
+base jet 33: pt=0.367634 rap=-1.92733 phi=2.4454, flav = [sbar ]
+SD flav jet 33: pt=0.367634 rap=-1.92733 phi=2.4454, flav = [sbar ]
+
+base jet 34: pt=0.344187 rap=1.6731 phi=1.1241, flav = [g]
+SD flav jet 34: pt=0.344187 rap=1.6731 phi=1.1241, flav = [g]
+
+base jet 35: pt=0.326826 rap=-4.0666 phi=1.26604, flav = [cbar ]
+SD flav jet 35: pt=0.326826 rap=-4.0666 phi=1.26604, flav = [cbar ]
+
+base jet 36: pt=0.315411 rap=3.50524 phi=4.60533, flav = [ubar ]
+SD flav jet 36: pt=0.315411 rap=3.50524 phi=4.60533, flav = [ubar ]
+
+base jet 37: pt=0.282369 rap=0.0609496 phi=3.55799, flav = [g]
+SD flav jet 37: pt=0.282369 rap=0.0609496 phi=3.55799, flav = [g]
+
+base jet 38: pt=0.275342 rap=-1.41152 phi=4.65817, flav = [g]
+SD flav jet 38: pt=0.275342 rap=-1.41152 phi=4.65817, flav = [g]
+
+base jet 39: pt=0.270557 rap=-6.42821 phi=1.9268, flav = [d u ]
+SD flav jet 39: pt=0.270557 rap=-6.42821 phi=1.9268, flav = [d u ]
+
+base jet 40: pt=0.236389 rap=-1.39315 phi=1.53166, flav = [g]
+SD flav jet 40: pt=0.236389 rap=-1.39315 phi=1.53166, flav = [g]
+
+base jet 41: pt=0.180563 rap=-2.61987 phi=3.47406, flav = [s ]
+SD flav jet 41: pt=0.180563 rap=-2.61987 phi=3.47406, flav = [s ]
+
+base jet 42: pt=0.116413 rap=-3.54693 phi=5.82437, flav = [g]
+SD flav jet 42: pt=0.116413 rap=-3.54693 phi=5.82437, flav = [g]
+
+base jet 43: pt=0.0409862 rap=0.0572104 phi=6.27533, flav = [g]
+SD flav jet 43: pt=0.0409862 rap=0.0572104 phi=6.27533, flav = [g]
+
+base jet 44: pt=0.000367874 rap=-1.87847 phi=4.91532, flav = [g]
+SD flav jet 44: pt=0.000367874 rap=-1.87847 phi=4.91532, flav = [g]
+
+#---------------------------------------------------------------
+# read event 4 with 93 particles
+now do the sd...
+
+base jet 0: pt=64.6815 rap=0.391394 phi=0.118011, flav = [u c tbar ]
+SD flav jet 0: pt=64.6815 rap=0.391394 phi=0.118011, flav = [u c tbar ]
+
+base jet 1: pt=60.6132 rap=0.448714 phi=0.539508, flav = [d ubar bbar tbar ]
+SD flav jet 1: pt=60.6132 rap=0.448714 phi=0.539508, flav = [d ubar bbar tbar ]
+
+base jet 2: pt=8.27633 rap=-2.79808 phi=4.26636, flav = [g]
+SD flav jet 2: pt=8.27633 rap=-2.79808 phi=4.26636, flav = [g]
+
+base jet 3: pt=7.33896 rap=1.12216 phi=5.90749, flav = [g]
+SD flav jet 3: pt=7.33896 rap=1.12216 phi=5.90749, flav = [g]
+
+base jet 4: pt=5.6391 rap=-2.22665 phi=3.29502, flav = [dbar dbar t ]
+SD flav jet 4: pt=5.6391 rap=-2.22665 phi=3.29502, flav = [dbar dbar t ]
+
+base jet 5: pt=3.09749 rap=0.126394 phi=1.32143, flav = [d c ]
+SD flav jet 5: pt=3.09749 rap=0.126394 phi=1.32143, flav = [d c ]
+
+base jet 6: pt=3.07467 rap=-0.446667 phi=1.16557, flav = [d cbar ]
+SD flav jet 6: pt=3.07467 rap=-0.446667 phi=1.16557, flav = [d cbar ]
+
+base jet 7: pt=2.99946 rap=1.23103 phi=3.12769, flav = [g]
+SD flav jet 7: pt=2.99946 rap=1.23103 phi=3.12769, flav = [g]
+
+base jet 8: pt=2.72094 rap=1.77131 phi=1.80173, flav = [ubar sbar ]
+SD flav jet 8: pt=2.72094 rap=1.77131 phi=1.80173, flav = [ubar sbar ]
+
+base jet 9: pt=2.2549 rap=-2.18162 phi=0.109749, flav = [g]
+SD flav jet 9: pt=2.2549 rap=-2.18162 phi=0.109749, flav = [g]
+
+base jet 10: pt=2.1835 rap=0.0633507 phi=1.75445, flav = [t ]
+SD flav jet 10: pt=2.1835 rap=0.0633507 phi=1.75445, flav = [t ]
+
+base jet 11: pt=1.91865 rap=2.82374 phi=6.20892, flav = [t ]
+SD flav jet 11: pt=1.91865 rap=2.82374 phi=6.20892, flav = [t ]
+
+base jet 12: pt=1.77941 rap=-1.85137 phi=1.34849, flav = [g]
+SD flav jet 12: pt=1.77941 rap=-1.85137 phi=1.34849, flav = [g]
+
+base jet 13: pt=1.49371 rap=5.45794 phi=4.04488, flav = [u ]
+SD flav jet 13: pt=1.49371 rap=5.45794 phi=4.04488, flav = [u ]
+
+base jet 14: pt=1.40893 rap=-1.07484 phi=6.27594, flav = [u sbar ]
+SD flav jet 14: pt=1.40893 rap=-1.07484 phi=6.27594, flav = [u sbar ]
+
+base jet 15: pt=1.29223 rap=-0.416627 phi=2.9184, flav = [d ]
+SD flav jet 15: pt=1.29223 rap=-0.416627 phi=2.9184, flav = [d ]
+
+base jet 16: pt=1.22843 rap=-2.45955 phi=5.48621, flav = [u ]
+SD flav jet 16: pt=1.22843 rap=-2.45955 phi=5.48621, flav = [u ]
+
+base jet 17: pt=1.19431 rap=-5.62653 phi=2.95634, flav = [u ]
+SD flav jet 17: pt=1.19431 rap=-5.62653 phi=2.95634, flav = [u ]
+
+base jet 18: pt=1.09939 rap=-6.62034 phi=2.55075, flav = [d u ]
+SD flav jet 18: pt=1.09939 rap=-6.62034 phi=2.55075, flav = [d u ]
+
+base jet 19: pt=1.05201 rap=1.50084 phi=5.70623, flav = [g]
+SD flav jet 19: pt=1.05201 rap=1.50084 phi=5.70623, flav = [g]
+
+base jet 20: pt=0.943416 rap=-0.267713 phi=0.607747, flav = [sbar b ]
+SD flav jet 20: pt=0.943416 rap=-0.267713 phi=0.607747, flav = [sbar b ]
+
+base jet 21: pt=0.921789 rap=-2.5209 phi=4.8201, flav = [g]
+SD flav jet 21: pt=0.921789 rap=-2.5209 phi=4.8201, flav = [g]
+
+base jet 22: pt=0.875809 rap=0.61858 phi=2.22812, flav = [g]
+SD flav jet 22: pt=0.875809 rap=0.61858 phi=2.22812, flav = [g]
+
+base jet 23: pt=0.844818 rap=1.08393 phi=0.835088, flav = [g]
+SD flav jet 23: pt=0.844818 rap=1.08393 phi=0.835088, flav = [g]
+
+base jet 24: pt=0.833654 rap=2.58714 phi=5.13165, flav = [g]
+SD flav jet 24: pt=0.833654 rap=2.58714 phi=5.13165, flav = [g]
+
+base jet 25: pt=0.795921 rap=5.79971 phi=1.50809, flav = [u ]
+SD flav jet 25: pt=0.795921 rap=5.79971 phi=1.50809, flav = [u ]
+
+base jet 26: pt=0.771756 rap=3.82285 phi=1.35606, flav = [d ]
+SD flav jet 26: pt=0.771756 rap=3.82285 phi=1.35606, flav = [d ]
+
+base jet 27: pt=0.713651 rap=-3.72448 phi=4.96354, flav = [ubar ]
+SD flav jet 27: pt=0.713651 rap=-3.72448 phi=4.96354, flav = [ubar ]
+
+base jet 28: pt=0.707698 rap=1.99622 phi=5.55461, flav = [bbar ]
+SD flav jet 28: pt=0.707698 rap=1.99622 phi=5.55461, flav = [bbar ]
+
+base jet 29: pt=0.639731 rap=0.991284 phi=5.19785, flav = [g]
+SD flav jet 29: pt=0.639731 rap=0.991284 phi=5.19785, flav = [g]
+
+base jet 30: pt=0.639004 rap=6.11083 phi=3.66267, flav = [g]
+SD flav jet 30: pt=0.639004 rap=6.11083 phi=3.66267, flav = [g]
+
+base jet 31: pt=0.633122 rap=4.27978 phi=4.04482, flav = [g]
+SD flav jet 31: pt=0.633122 rap=4.27978 phi=4.04482, flav = [g]
+
+base jet 32: pt=0.605937 rap=5.37129 phi=3.26461, flav = [t ]
+SD flav jet 32: pt=0.605937 rap=5.37129 phi=3.26461, flav = [t ]
+
+base jet 33: pt=0.590525 rap=1.2242 phi=4.8405, flav = [c ]
+SD flav jet 33: pt=0.590525 rap=1.2242 phi=4.8405, flav = [c ]
+
+base jet 34: pt=0.581598 rap=4.38855 phi=1.48003, flav = [dbar u ]
+SD flav jet 34: pt=0.581598 rap=4.38855 phi=1.48003, flav = [dbar u ]
+
+base jet 35: pt=0.546297 rap=0.937221 phi=0.35331, flav = [g]
+SD flav jet 35: pt=0.546297 rap=0.937221 phi=0.35331, flav = [g]
+
+base jet 36: pt=0.543966 rap=-2.97743 phi=5.54568, flav = [ubar ]
+SD flav jet 36: pt=0.543966 rap=-2.97743 phi=5.54568, flav = [ubar ]
+
+base jet 37: pt=0.521387 rap=-1.65433 phi=0.707898, flav = [g]
+SD flav jet 37: pt=0.521387 rap=-1.65433 phi=0.707898, flav = [g]
+
+base jet 38: pt=0.480634 rap=5.95519 phi=2.61508, flav = [d ]
+SD flav jet 38: pt=0.480634 rap=5.95519 phi=2.61508, flav = [d ]
+
+base jet 39: pt=0.465609 rap=2.14305 phi=3.10075, flav = [bbar ]
+SD flav jet 39: pt=0.465609 rap=2.14305 phi=3.10075, flav = [bbar ]
+
+base jet 40: pt=0.442244 rap=3.11583 phi=5.25811, flav = [ubar ]
+SD flav jet 40: pt=0.442244 rap=3.11583 phi=5.25811, flav = [ubar ]
+
+base jet 41: pt=0.43722 rap=0.150514 phi=2.75431, flav = [g]
+SD flav jet 41: pt=0.43722 rap=0.150514 phi=2.75431, flav = [g]
+
+base jet 42: pt=0.42787 rap=0.436933 phi=1.57366, flav = [s ]
+SD flav jet 42: pt=0.42787 rap=0.436933 phi=1.57366, flav = [s ]
+
+base jet 43: pt=0.411842 rap=-1.26415 phi=2.08269, flav = [g]
+SD flav jet 43: pt=0.411842 rap=-1.26415 phi=2.08269, flav = [g]
+
+base jet 44: pt=0.400929 rap=3.63984 phi=2.14692, flav = [g]
+SD flav jet 44: pt=0.400929 rap=3.63984 phi=2.14692, flav = [g]
+
+base jet 45: pt=0.339731 rap=-1.62643 phi=4.26943, flav = [g]
+SD flav jet 45: pt=0.339731 rap=-1.62643 phi=4.26943, flav = [g]
+
+base jet 46: pt=0.323149 rap=3.35167 phi=3.43394, flav = [g]
+SD flav jet 46: pt=0.323149 rap=3.35167 phi=3.43394, flav = [g]
+
+base jet 47: pt=0.311072 rap=2.12474 phi=2.13269, flav = [g]
+SD flav jet 47: pt=0.311072 rap=2.12474 phi=2.13269, flav = [g]
+
+base jet 48: pt=0.309475 rap=-1.22922 phi=5.53698, flav = [s ]
+SD flav jet 48: pt=0.309475 rap=-1.22922 phi=5.53698, flav = [s ]
+
+base jet 49: pt=0.298757 rap=5.19963 phi=4.52078, flav = [u ]
+SD flav jet 49: pt=0.298757 rap=5.19963 phi=4.52078, flav = [u ]
+
+base jet 50: pt=0.278128 rap=3.94799 phi=3.03891, flav = [g]
+SD flav jet 50: pt=0.278128 rap=3.94799 phi=3.03891, flav = [g]
+
+base jet 51: pt=0.265764 rap=-0.885221 phi=2.64341, flav = [tbar ]
+SD flav jet 51: pt=0.265764 rap=-0.885221 phi=2.64341, flav = [tbar ]
+
+base jet 52: pt=0.241476 rap=-0.612924 phi=5.34811, flav = [g]
+SD flav jet 52: pt=0.241476 rap=-0.612924 phi=5.34811, flav = [g]
+
+base jet 53: pt=0.217796 rap=3.41688 phi=0.451923, flav = [sbar ]
+SD flav jet 53: pt=0.217796 rap=3.41688 phi=0.451923, flav = [sbar ]
+
+base jet 54: pt=0.162116 rap=-0.173813 phi=5.41056, flav = [g]
+SD flav jet 54: pt=0.162116 rap=-0.173813 phi=5.41056, flav = [g]
+
+base jet 55: pt=0.112512 rap=-0.0545497 phi=2.39963, flav = [g]
+SD flav jet 55: pt=0.112512 rap=-0.0545497 phi=2.39963, flav = [g]
+
+base jet 56: pt=0.0428028 rap=-1.882 phi=2.17436, flav = [g]
+SD flav jet 56: pt=0.0428028 rap=-1.882 phi=2.17436, flav = [g]
+
+base jet 57: pt=0.0182354 rap=1.83065 phi=4.04384, flav = [sbar ]
+SD flav jet 57: pt=0.0182354 rap=1.83065 phi=4.04384, flav = [sbar ]
+
+#---------------------------------------------------------------
+# read event 5 with 104 particles
+now do the sd...
+
+base jet 0: pt=103.576 rap=0.670846 phi=5.56992, flav = [ubar c c t ]
+SD flav jet 0: pt=103.576 rap=0.670846 phi=5.56992, flav = [ubar c c t ]
+
+base jet 1: pt=4.58178 rap=-1.90869 phi=2.36617, flav = [dbar ]
+SD flav jet 1: pt=4.58178 rap=-1.90869 phi=2.36617, flav = [dbar ]
+
+base jet 2: pt=3.3254 rap=1.18649 phi=5.73498, flav = [d c ]
+SD flav jet 2: pt=3.3254 rap=1.18649 phi=5.73498, flav = [d c ]
+
+base jet 3: pt=3.17718 rap=2.72848 phi=5.65978, flav = [d ]
+SD flav jet 3: pt=3.17718 rap=2.72848 phi=5.65978, flav = [d ]
+
+base jet 4: pt=3.07538 rap=-2.94002 phi=5.57259, flav = [cbar ]
+SD flav jet 4: pt=3.07538 rap=-2.94002 phi=5.57259, flav = [cbar ]
+
+base jet 5: pt=2.91546 rap=4.90048 phi=0.0643643, flav = [dbar b ]
+SD flav jet 5: pt=2.91546 rap=4.90048 phi=0.0643643, flav = [dbar b ]
+
+base jet 6: pt=2.79087 rap=-0.0839135 phi=3.72992, flav = [g]
+SD flav jet 6: pt=2.79087 rap=-0.0839135 phi=3.72992, flav = [g]
+
+base jet 7: pt=2.66046 rap=-1.36723 phi=2.09926, flav = [ubar ]
+SD flav jet 7: pt=2.66046 rap=-1.36723 phi=2.09926, flav = [ubar ]
+
+base jet 8: pt=2.56647 rap=3.36059 phi=5.47546, flav = [b ]
+SD flav jet 8: pt=2.56647 rap=3.36059 phi=5.47546, flav = [b ]
+
+base jet 9: pt=2.19566 rap=0.816755 phi=4.80042, flav = [cbar ]
+SD flav jet 9: pt=2.19566 rap=0.816755 phi=4.80042, flav = [cbar ]
+
+base jet 10: pt=1.90258 rap=-0.368807 phi=4.16633, flav = [b ]
+SD flav jet 10: pt=1.90258 rap=-0.368807 phi=4.16633, flav = [b ]
+
+base jet 11: pt=1.77874 rap=1.71841 phi=2.12888, flav = [g]
+SD flav jet 11: pt=1.77874 rap=1.71841 phi=2.12888, flav = [g]
+
+base jet 12: pt=1.75906 rap=-0.441818 phi=0.900447, flav = [u tbar ]
+SD flav jet 12: pt=1.75906 rap=-0.441818 phi=0.900447, flav = [u tbar ]
+
+base jet 13: pt=1.66894 rap=-0.0808496 phi=2.67093, flav = [ubar ]
+SD flav jet 13: pt=1.66894 rap=-0.0808496 phi=2.67093, flav = [ubar ]
+
+base jet 14: pt=1.65914 rap=-1.10639 phi=1.73822, flav = [u ]
+SD flav jet 14: pt=1.65914 rap=-1.10639 phi=1.73822, flav = [u ]
+
+base jet 15: pt=1.57407 rap=0.375704 phi=0.286954, flav = [b ]
+SD flav jet 15: pt=1.57407 rap=0.375704 phi=0.286954, flav = [b ]
+
+base jet 16: pt=1.56625 rap=-0.638066 phi=2.98326, flav = [g]
+SD flav jet 16: pt=1.56625 rap=-0.638066 phi=2.98326, flav = [g]
+
+base jet 17: pt=1.53099 rap=0.666093 phi=2.54593, flav = [s ]
+SD flav jet 17: pt=1.53099 rap=0.666093 phi=2.54593, flav = [s ]
+
+base jet 18: pt=1.52508 rap=-1.62383 phi=1.52316, flav = [g]
+SD flav jet 18: pt=1.52508 rap=-1.62383 phi=1.52316, flav = [g]
+
+base jet 19: pt=1.48377 rap=4.79271 phi=2.36556, flav = [g]
+SD flav jet 19: pt=1.48377 rap=4.79271 phi=2.36556, flav = [g]
+
+base jet 20: pt=1.48009 rap=0.430208 phi=5.19574, flav = [g]
+SD flav jet 20: pt=1.48009 rap=0.430208 phi=5.19574, flav = [g]
+
+base jet 21: pt=1.38769 rap=3.19928 phi=0.885113, flav = [g]
+SD flav jet 21: pt=1.38769 rap=3.19928 phi=0.885113, flav = [g]
+
+base jet 22: pt=1.37067 rap=4.3294 phi=4.95068, flav = [ubar ]
+SD flav jet 22: pt=1.37067 rap=4.3294 phi=4.95068, flav = [ubar ]
+
+base jet 23: pt=1.33857 rap=2.90865 phi=6.11471, flav = [g]
+SD flav jet 23: pt=1.33857 rap=2.90865 phi=6.11471, flav = [g]
+
+base jet 24: pt=1.3384 rap=-0.684202 phi=2.09932, flav = [ubar t ]
+SD flav jet 24: pt=1.3384 rap=-0.684202 phi=2.09932, flav = [ubar t ]
+
+base jet 25: pt=1.25816 rap=2.68646 phi=4.78388, flav = [sbar b ]
+SD flav jet 25: pt=1.25816 rap=2.68646 phi=4.78388, flav = [sbar b ]
+
+base jet 26: pt=1.20045 rap=3.36562 phi=2.312, flav = [u ]
+SD flav jet 26: pt=1.20045 rap=3.36562 phi=2.312, flav = [u ]
+
+base jet 27: pt=1.1616 rap=2.31063 phi=0.674491, flav = [g]
+SD flav jet 27: pt=1.1616 rap=2.31063 phi=0.674491, flav = [g]
+
+base jet 28: pt=1.16047 rap=-1.91441 phi=3.09778, flav = [u t ]
+SD flav jet 28: pt=1.16047 rap=-1.91441 phi=3.09778, flav = [u t ]
+
+base jet 29: pt=1.13847 rap=0.117427 phi=4.26462, flav = [g]
+SD flav jet 29: pt=1.13847 rap=0.117427 phi=4.26462, flav = [g]
+
+base jet 30: pt=1.13016 rap=1.72204 phi=4.21821, flav = [g]
+SD flav jet 30: pt=1.13016 rap=1.72204 phi=4.21821, flav = [g]
+
+base jet 31: pt=1.12958 rap=1.40598 phi=0.188041, flav = [dbar ]
+SD flav jet 31: pt=1.12958 rap=1.40598 phi=0.188041, flav = [dbar ]
+
+base jet 32: pt=0.953686 rap=5.34921 phi=0.943114, flav = [d ]
+SD flav jet 32: pt=0.953686 rap=5.34921 phi=0.943114, flav = [d ]
+
+base jet 33: pt=0.926798 rap=2.70564 phi=1.28736, flav = [ubar ]
+SD flav jet 33: pt=0.926798 rap=2.70564 phi=1.28736, flav = [ubar ]
+
+base jet 34: pt=0.915089 rap=-0.973834 phi=3.47696, flav = [u ]
+SD flav jet 34: pt=0.915089 rap=-0.973834 phi=3.47696, flav = [u ]
+
+base jet 35: pt=0.863148 rap=3.05011 phi=0.304023, flav = [t ]
+SD flav jet 35: pt=0.863148 rap=3.05011 phi=0.304023, flav = [t ]
+
+base jet 36: pt=0.849618 rap=-3.29141 phi=3.95914, flav = [d ]
+SD flav jet 36: pt=0.849618 rap=-3.29141 phi=3.95914, flav = [d ]
+
+base jet 37: pt=0.845184 rap=-0.197754 phi=1.6774, flav = [g]
+SD flav jet 37: pt=0.845184 rap=-0.197754 phi=1.6774, flav = [g]
+
+base jet 38: pt=0.741224 rap=0.481294 phi=1.33954, flav = [cbar ]
+SD flav jet 38: pt=0.741224 rap=0.481294 phi=1.33954, flav = [cbar ]
+
+base jet 39: pt=0.736037 rap=-1.90851 phi=4.50608, flav = [u ]
+SD flav jet 39: pt=0.736037 rap=-1.90851 phi=4.50608, flav = [u ]
+
+base jet 40: pt=0.681616 rap=5.45311 phi=3.53289, flav = [u u ]
+SD flav jet 40: pt=0.681616 rap=5.45311 phi=3.53289, flav = [u u ]
+
+base jet 41: pt=0.620594 rap=-0.716159 phi=2.52013, flav = [g]
+SD flav jet 41: pt=0.620594 rap=-0.716159 phi=2.52013, flav = [g]
+
+base jet 42: pt=0.611938 rap=4.29183 phi=0.984259, flav = [d ]
+SD flav jet 42: pt=0.611938 rap=4.29183 phi=0.984259, flav = [d ]
+
+base jet 43: pt=0.573457 rap=4.45941 phi=2.65817, flav = [dbar ]
+SD flav jet 43: pt=0.573457 rap=4.45941 phi=2.65817, flav = [dbar ]
+
+base jet 44: pt=0.55851 rap=1.78007 phi=4.71025, flav = [g]
+SD flav jet 44: pt=0.55851 rap=1.78007 phi=4.71025, flav = [g]
+
+base jet 45: pt=0.524854 rap=1.09899 phi=5.12445, flav = [sbar ]
+SD flav jet 45: pt=0.524854 rap=1.09899 phi=5.12445, flav = [sbar ]
+
+base jet 46: pt=0.524141 rap=1.92472 phi=6.10194, flav = [d ]
+SD flav jet 46: pt=0.524141 rap=1.92472 phi=6.10194, flav = [d ]
+
+base jet 47: pt=0.51969 rap=-0.568329 phi=3.69806, flav = [t ]
+SD flav jet 47: pt=0.51969 rap=-0.568329 phi=3.69806, flav = [t ]
+
+base jet 48: pt=0.501863 rap=1.06045 phi=1.63218, flav = [dbar ]
+SD flav jet 48: pt=0.501863 rap=1.06045 phi=1.63218, flav = [dbar ]
+
+base jet 49: pt=0.490545 rap=-1.52154 phi=3.80641, flav = [cbar ]
+SD flav jet 49: pt=0.490545 rap=-1.52154 phi=3.80641, flav = [cbar ]
+
+base jet 50: pt=0.455524 rap=3.31398 phi=1.5314, flav = [dbar ]
+SD flav jet 50: pt=0.455524 rap=3.31398 phi=1.5314, flav = [dbar ]
+
+base jet 51: pt=0.432599 rap=3.61361 phi=1.03093, flav = [g]
+SD flav jet 51: pt=0.432599 rap=3.61361 phi=1.03093, flav = [g]
+
+base jet 52: pt=0.417599 rap=0.300434 phi=2.8921, flav = [c ]
+SD flav jet 52: pt=0.417599 rap=0.300434 phi=2.8921, flav = [c ]
+
+base jet 53: pt=0.404257 rap=-1.24984 phi=2.84145, flav = [c ]
+SD flav jet 53: pt=0.404257 rap=-1.24984 phi=2.84145, flav = [c ]
+
+base jet 54: pt=0.371215 rap=3.30524 phi=3.6266, flav = [g]
+SD flav jet 54: pt=0.371215 rap=3.30524 phi=3.6266, flav = [g]
+
+base jet 55: pt=0.356397 rap=-7.75615 phi=4.44784, flav = [d u ]
+SD flav jet 55: pt=0.356397 rap=-7.75615 phi=4.44784, flav = [d u ]
+
+base jet 56: pt=0.333612 rap=-3.56714 phi=3.02511, flav = [sbar ]
+SD flav jet 56: pt=0.333612 rap=-3.56714 phi=3.02511, flav = [sbar ]
+
+base jet 57: pt=0.285804 rap=-4.56977 phi=2.47844, flav = [u ]
+SD flav jet 57: pt=0.285804 rap=-4.56977 phi=2.47844, flav = [u ]
+
+base jet 58: pt=0.278429 rap=-0.558429 phi=0.073587, flav = [g]
+SD flav jet 58: pt=0.278429 rap=-0.558429 phi=0.073587, flav = [g]
+
+base jet 59: pt=0.24573 rap=4.30836 phi=1.38816, flav = [g]
+SD flav jet 59: pt=0.24573 rap=4.30836 phi=1.38816, flav = [g]
+
+base jet 60: pt=0.191944 rap=0.853899 phi=2.0019, flav = [g]
+SD flav jet 60: pt=0.191944 rap=0.853899 phi=2.0019, flav = [g]
+
+base jet 61: pt=0.163946 rap=3.50701 phi=5.0516, flav = [g]
+SD flav jet 61: pt=0.163946 rap=3.50701 phi=5.0516, flav = [g]
+
+base jet 62: pt=0.0922454 rap=1.64675 phi=2.57917, flav = [g]
+SD flav jet 62: pt=0.0922454 rap=1.64675 phi=2.57917, flav = [g]
+
+base jet 63: pt=0.077441 rap=3.56506 phi=4.58451, flav = [ubar ]
+SD flav jet 63: pt=0.077441 rap=3.56506 phi=4.58451, flav = [ubar ]
+
+base jet 64: pt=0.0505622 rap=1.78424 phi=0.528645, flav = [u ]
+SD flav jet 64: pt=0.0505622 rap=1.78424 phi=0.528645, flav = [u ]
+
+base jet 65: pt=0.000136378 rap=0.33941 phi=2.23264, flav = [g]
+SD flav jet 65: pt=0.000136378 rap=0.33941 phi=2.23264, flav = [g]
+
+#---------------------------------------------------------------
+# read event 6 with 33 particles
+now do the sd...
+
+base jet 0: pt=108.088 rap=0.864675 phi=1.32688, flav = [d u cbar tbar ]
+SD flav jet 0: pt=108.088 rap=0.864675 phi=1.32688, flav = [d u cbar tbar ]
+
+base jet 1: pt=2.86396 rap=-1.68539 phi=4.29098, flav = [cbar ]
+SD flav jet 1: pt=2.86396 rap=-1.68539 phi=4.29098, flav = [cbar ]
+
+base jet 2: pt=2.39178 rap=4.42295 phi=3.66959, flav = [cbar ]
+SD flav jet 2: pt=2.39178 rap=4.42295 phi=3.66959, flav = [cbar ]
+
+base jet 3: pt=1.54024 rap=6.46583 phi=3.96646, flav = [u u ]
+SD flav jet 3: pt=1.54024 rap=6.46583 phi=3.96646, flav = [u u ]
+
+base jet 4: pt=1.39411 rap=0.46637 phi=1.18941, flav = [sbar ]
+SD flav jet 4: pt=1.39411 rap=0.46637 phi=1.18941, flav = [sbar ]
+
+base jet 5: pt=1.10904 rap=-0.112969 phi=1.10605, flav = [bbar ]
+SD flav jet 5: pt=1.10904 rap=-0.112969 phi=1.10605, flav = [bbar ]
+
+base jet 6: pt=0.975215 rap=3.92022 phi=0.426372, flav = [g]
+SD flav jet 6: pt=0.975215 rap=3.92022 phi=0.426372, flav = [g]
+
+base jet 7: pt=0.90555 rap=1.66034 phi=2.35185, flav = [s ]
+SD flav jet 7: pt=0.90555 rap=1.66034 phi=2.35185, flav = [s ]
+
+base jet 8: pt=0.893624 rap=4.05149 phi=0.0378413, flav = [ubar ]
+SD flav jet 8: pt=0.893624 rap=4.05149 phi=0.0378413, flav = [ubar ]
+
+base jet 9: pt=0.695739 rap=1.86191 phi=5.44268, flav = [g]
+SD flav jet 9: pt=0.695739 rap=1.86191 phi=5.44268, flav = [g]
+
+base jet 10: pt=0.678007 rap=4.60405 phi=1.05842, flav = [g]
+SD flav jet 10: pt=0.678007 rap=4.60405 phi=1.05842, flav = [g]
+
+base jet 11: pt=0.600427 rap=-6.75668 phi=4.98589, flav = [d ]
+SD flav jet 11: pt=0.600427 rap=-6.75668 phi=4.98589, flav = [d ]
+
+base jet 12: pt=0.576369 rap=-5.61554 phi=4.04283, flav = [u u ]
+SD flav jet 12: pt=0.576369 rap=-5.61554 phi=4.04283, flav = [u u ]
+
+base jet 13: pt=0.533192 rap=1.68684 phi=4.03219, flav = [sbar ]
+SD flav jet 13: pt=0.533192 rap=1.68684 phi=4.03219, flav = [sbar ]
+
+base jet 14: pt=0.498602 rap=-3.10784 phi=2.04505, flav = [b ]
+SD flav jet 14: pt=0.498602 rap=-3.10784 phi=2.04505, flav = [b ]
+
+base jet 15: pt=0.293106 rap=3.03148 phi=0.86342, flav = [sbar ]
+SD flav jet 15: pt=0.293106 rap=3.03148 phi=0.86342, flav = [sbar ]
+
+base jet 16: pt=0.247259 rap=-7.77504 phi=4.93117, flav = [d ]
+SD flav jet 16: pt=0.247259 rap=-7.77504 phi=4.93117, flav = [d ]
+
+base jet 17: pt=0.196 rap=-0.543337 phi=3.95017, flav = [g]
+SD flav jet 17: pt=0.196 rap=-0.543337 phi=3.95017, flav = [g]
+
+base jet 18: pt=0.132232 rap=-2.46262 phi=1.16502, flav = [ubar ]
+SD flav jet 18: pt=0.132232 rap=-2.46262 phi=1.16502, flav = [ubar ]
+
+base jet 19: pt=0.110357 rap=5.42352 phi=0.391056, flav = [g]
+SD flav jet 19: pt=0.110357 rap=5.42352 phi=0.391056, flav = [g]
+
+#---------------------------------------------------------------
+# read event 7 with 94 particles
+now do the sd...
+
+base jet 0: pt=100.043 rap=0.69771 phi=5.94573, flav = [s ]
+SD flav jet 0: pt=100.043 rap=0.69771 phi=5.94573, flav = [s ]
+
+base jet 1: pt=20.1253 rap=-0.0197745 phi=6.19708, flav = [d t ]
+SD flav jet 1: pt=20.1253 rap=-0.0197745 phi=6.19708, flav = [d t ]
+
+base jet 2: pt=6.10882 rap=0.418633 phi=0.0728016, flav = [cbar b ]
+SD flav jet 2: pt=6.10882 rap=0.418633 phi=0.0728016, flav = [cbar b ]
+
+base jet 3: pt=6.0838 rap=0.00974429 phi=5.55987, flav = [dbar ]
+SD flav jet 3: pt=6.0838 rap=0.00974429 phi=5.55987, flav = [dbar ]
+
+base jet 4: pt=5.01801 rap=-0.709537 phi=1.47505, flav = [dbar cbar bbar ]
+SD flav jet 4: pt=5.01801 rap=-0.709537 phi=1.47505, flav = [dbar cbar bbar ]
+
+base jet 5: pt=4.02914 rap=2.68799 phi=5.45891, flav = [u ]
+SD flav jet 5: pt=4.02914 rap=2.68799 phi=5.45891, flav = [u ]
+
+base jet 6: pt=3.7647 rap=-0.051307 phi=2.18793, flav = [tbar ]
+SD flav jet 6: pt=3.7647 rap=-0.051307 phi=2.18793, flav = [g]
+
+base jet 7: pt=3.35288 rap=-3.29726 phi=4.71972, flav = [tbar ]
+SD flav jet 7: pt=3.35288 rap=-3.29726 phi=4.71972, flav = [tbar ]
+
+base jet 8: pt=3.08731 rap=-1.48716 phi=2.65707, flav = [d tbar ]
+SD flav jet 8: pt=3.08731 rap=-1.48716 phi=2.65707, flav = [d tbar ]
+
+base jet 9: pt=2.64693 rap=-4.17746 phi=5.98502, flav = [g]
+SD flav jet 9: pt=2.64693 rap=-4.17746 phi=5.98502, flav = [g]
+
+base jet 10: pt=2.51591 rap=2.12214 phi=1.06596, flav = [b ]
+SD flav jet 10: pt=2.51591 rap=2.12214 phi=1.06596, flav = [b ]
+
+base jet 11: pt=2.12986 rap=2.50003 phi=2.81918, flav = [g]
+SD flav jet 11: pt=2.12986 rap=2.50003 phi=2.81918, flav = [g]
+
+base jet 12: pt=2.09818 rap=3.38805 phi=5.80633, flav = [g]
+SD flav jet 12: pt=2.09818 rap=3.38805 phi=5.80633, flav = [g]
+
+base jet 13: pt=2.04001 rap=-1.08864 phi=1.58205, flav = [g]
+SD flav jet 13: pt=2.04001 rap=-1.08864 phi=1.58205, flav = [g]
+
+base jet 14: pt=2.02355 rap=2.8502 phi=3.3782, flav = [d s ]
+SD flav jet 14: pt=2.02355 rap=2.8502 phi=3.3782, flav = [d s ]
+
+base jet 15: pt=1.89426 rap=-3.98317 phi=3.07242, flav = [bbar ]
+SD flav jet 15: pt=1.89426 rap=-3.98317 phi=3.07242, flav = [bbar ]
+
+base jet 16: pt=1.65567 rap=0.847511 phi=3.14292, flav = [sbar ]
+SD flav jet 16: pt=1.65567 rap=0.847511 phi=3.14292, flav = [sbar ]
+
+base jet 17: pt=1.54193 rap=-1.84395 phi=5.93289, flav = [u b ]
+SD flav jet 17: pt=1.54193 rap=-1.84395 phi=5.93289, flav = [u ]
+
+base jet 18: pt=1.53931 rap=-3.71442 phi=6.17119, flav = [dbar ]
+SD flav jet 18: pt=1.53931 rap=-3.71442 phi=6.17119, flav = [dbar ]
+
+base jet 19: pt=1.53742 rap=0.314811 phi=5.82036, flav = [g]
+SD flav jet 19: pt=1.53742 rap=0.314811 phi=5.82036, flav = [g]
+
+base jet 20: pt=1.45927 rap=0.91276 phi=0.67525, flav = [dbar s s ]
+SD flav jet 20: pt=1.45927 rap=0.91276 phi=0.67525, flav = [dbar s s ]
+
+base jet 21: pt=1.39796 rap=-0.818449 phi=1.00365, flav = [g]
+SD flav jet 21: pt=1.39796 rap=-0.818449 phi=1.00365, flav = [g]
+
+base jet 22: pt=1.3216 rap=2.1139 phi=1.88361, flav = [g]
+SD flav jet 22: pt=1.3216 rap=2.1139 phi=1.88361, flav = [g]
+
+base jet 23: pt=1.30306 rap=-1.67021 phi=4.0526, flav = [g]
+SD flav jet 23: pt=1.30306 rap=-1.67021 phi=4.0526, flav = [g]
+
+base jet 24: pt=1.26129 rap=0.141311 phi=3.50041, flav = [g]
+SD flav jet 24: pt=1.26129 rap=0.141311 phi=3.50041, flav = [g]
+
+base jet 25: pt=1.25112 rap=4.81576 phi=3.55546, flav = [u ]
+SD flav jet 25: pt=1.25112 rap=4.81576 phi=3.55546, flav = [u ]
+
+base jet 26: pt=1.15424 rap=-1.97734 phi=1.69049, flav = [cbar ]
+SD flav jet 26: pt=1.15424 rap=-1.97734 phi=1.69049, flav = [cbar ]
+
+base jet 27: pt=1.15412 rap=-1.08305 phi=0.168866, flav = [g]
+SD flav jet 27: pt=1.15412 rap=-1.08305 phi=0.168866, flav = [g]
+
+base jet 28: pt=1.07441 rap=-2.87871 phi=5.70802, flav = [g]
+SD flav jet 28: pt=1.07441 rap=-2.87871 phi=5.70802, flav = [g]
+
+base jet 29: pt=1.07243 rap=1.20838 phi=5.47757, flav = [sbar sbar ]
+SD flav jet 29: pt=1.07243 rap=1.20838 phi=5.47757, flav = [sbar sbar ]
+
+base jet 30: pt=0.944379 rap=1.96605 phi=3.56808, flav = [g]
+SD flav jet 30: pt=0.944379 rap=1.96605 phi=3.56808, flav = [g]
+
+base jet 31: pt=0.937456 rap=1.17551 phi=4.98034, flav = [d ]
+SD flav jet 31: pt=0.937456 rap=1.17551 phi=4.98034, flav = [d ]
+
+base jet 32: pt=0.793721 rap=6.97727 phi=3.90913, flav = [d u ]
+SD flav jet 32: pt=0.793721 rap=6.97727 phi=3.90913, flav = [d u ]
+
+base jet 33: pt=0.75007 rap=-1.31398 phi=1.99757, flav = [cbar ]
+SD flav jet 33: pt=0.75007 rap=-1.31398 phi=1.99757, flav = [cbar ]
+
+base jet 34: pt=0.693642 rap=2.03927 phi=5.73989, flav = [ubar ]
+SD flav jet 34: pt=0.693642 rap=2.03927 phi=5.73989, flav = [ubar ]
+
+base jet 35: pt=0.656282 rap=-6.61917 phi=2.88598, flav = [d ]
+SD flav jet 35: pt=0.656282 rap=-6.61917 phi=2.88598, flav = [d ]
+
+base jet 36: pt=0.628089 rap=-0.557147 phi=0.642404, flav = [g]
+SD flav jet 36: pt=0.628089 rap=-0.557147 phi=0.642404, flav = [g]
+
+base jet 37: pt=0.612467 rap=-1.38571 phi=3.28684, flav = [c ]
+SD flav jet 37: pt=0.612467 rap=-1.38571 phi=3.28684, flav = [c ]
+
+base jet 38: pt=0.518823 rap=-0.635398 phi=1.98669, flav = [g]
+SD flav jet 38: pt=0.518823 rap=-0.635398 phi=1.98669, flav = [g]
+
+base jet 39: pt=0.512144 rap=-6.29505 phi=2.25328, flav = [u u ]
+SD flav jet 39: pt=0.512144 rap=-6.29505 phi=2.25328, flav = [u u ]
+
+base jet 40: pt=0.496233 rap=1.49261 phi=1.67568, flav = [g]
+SD flav jet 40: pt=0.496233 rap=1.49261 phi=1.67568, flav = [g]
+
+base jet 41: pt=0.496007 rap=-1.15019 phi=5.85232, flav = [g]
+SD flav jet 41: pt=0.496007 rap=-1.15019 phi=5.85232, flav = [g]
+
+base jet 42: pt=0.451954 rap=1.84306 phi=6.20175, flav = [g]
+SD flav jet 42: pt=0.451954 rap=1.84306 phi=6.20175, flav = [g]
+
+base jet 43: pt=0.398146 rap=-2.95606 phi=3.49302, flav = [dbar ]
+SD flav jet 43: pt=0.398146 rap=-2.95606 phi=3.49302, flav = [dbar ]
+
+base jet 44: pt=0.385503 rap=2.02407 phi=3.03554, flav = [bbar ]
+SD flav jet 44: pt=0.385503 rap=2.02407 phi=3.03554, flav = [bbar ]
+
+base jet 45: pt=0.383139 rap=-0.363772 phi=2.73817, flav = [cbar ]
+SD flav jet 45: pt=0.383139 rap=-0.363772 phi=2.73817, flav = [cbar ]
+
+base jet 46: pt=0.365497 rap=-3.62612 phi=1.73476, flav = [c ]
+SD flav jet 46: pt=0.365497 rap=-3.62612 phi=1.73476, flav = [c ]
+
+base jet 47: pt=0.353789 rap=-5.04981 phi=3.60919, flav = [ubar ]
+SD flav jet 47: pt=0.353789 rap=-5.04981 phi=3.60919, flav = [ubar ]
+
+base jet 48: pt=0.34127 rap=1.4751 phi=3.85587, flav = [sbar ]
+SD flav jet 48: pt=0.34127 rap=1.4751 phi=3.85587, flav = [sbar ]
+
+base jet 49: pt=0.337966 rap=-1.54452 phi=1.55881, flav = [bbar ]
+SD flav jet 49: pt=0.337966 rap=-1.54452 phi=1.55881, flav = [bbar ]
+
+base jet 50: pt=0.316298 rap=-2.26544 phi=6.03144, flav = [g]
+SD flav jet 50: pt=0.316298 rap=-2.26544 phi=6.03144, flav = [g]
+
+base jet 51: pt=0.276263 rap=-2.49165 phi=0.129153, flav = [dbar ]
+SD flav jet 51: pt=0.276263 rap=-2.49165 phi=0.129153, flav = [dbar ]
+
+base jet 52: pt=0.27515 rap=0.950918 phi=2.10485, flav = [g]
+SD flav jet 52: pt=0.27515 rap=0.950918 phi=2.10485, flav = [g]
+
+base jet 53: pt=0.247699 rap=0.8706 phi=1.59508, flav = [g]
+SD flav jet 53: pt=0.247699 rap=0.8706 phi=1.59508, flav = [g]
+
+base jet 54: pt=0.240553 rap=3.53152 phi=4.14137, flav = [ubar ]
+SD flav jet 54: pt=0.240553 rap=3.53152 phi=4.14137, flav = [ubar ]
+
+base jet 55: pt=0.233844 rap=-2.51833 phi=2.57197, flav = [g]
+SD flav jet 55: pt=0.233844 rap=-2.51833 phi=2.57197, flav = [g]
+
+base jet 56: pt=0.178675 rap=-2.11337 phi=3.56086, flav = [s ]
+SD flav jet 56: pt=0.178675 rap=-2.11337 phi=3.56086, flav = [s ]
+
+base jet 57: pt=0.168943 rap=-4.88523 phi=1.45096, flav = [g]
+SD flav jet 57: pt=0.168943 rap=-4.88523 phi=1.45096, flav = [g]
+
+base jet 58: pt=0.145181 rap=0.113626 phi=1.7583, flav = [b ]
+SD flav jet 58: pt=0.145181 rap=0.113626 phi=1.7583, flav = [b ]
+
+base jet 59: pt=0.144486 rap=-3.69514 phi=5.05525, flav = [dbar ]
+SD flav jet 59: pt=0.144486 rap=-3.69514 phi=5.05525, flav = [dbar ]
+
+base jet 60: pt=0.0509278 rap=-2.3873 phi=3.06938, flav = [ubar ]
+SD flav jet 60: pt=0.0509278 rap=-2.3873 phi=3.06938, flav = [ubar ]
+
+base jet 61: pt=0.034093 rap=-1.49812 phi=4.68863, flav = [g]
+SD flav jet 61: pt=0.034093 rap=-1.49812 phi=4.68863, flav = [g]
+
+#---------------------------------------------------------------
+# read event 8 with 54 particles
+now do the sd...
+
+base jet 0: pt=115.562 rap=-0.0319995 phi=0.98162, flav = [s s bbar ]
+SD flav jet 0: pt=115.562 rap=-0.0319995 phi=0.98162, flav = [s s bbar ]
+
+base jet 1: pt=19.9284 rap=-0.828988 phi=2.77712, flav = [d ]
+SD flav jet 1: pt=19.9284 rap=-0.828988 phi=2.77712, flav = [d ]
+
+base jet 2: pt=18.6118 rap=-1.09124 phi=4.95011, flav = [u ]
+SD flav jet 2: pt=18.6118 rap=-1.09124 phi=4.95011, flav = [u ]
+
+base jet 3: pt=6.47879 rap=-2.08208 phi=6.09873, flav = [bbar ]
+SD flav jet 3: pt=6.47879 rap=-2.08208 phi=6.09873, flav = [bbar ]
+
+base jet 4: pt=4.70221 rap=0.0216587 phi=1.47711, flav = [ubar t ]
+SD flav jet 4: pt=4.70221 rap=0.0216587 phi=1.47711, flav = [ubar t ]
+
+base jet 5: pt=3.13994 rap=-0.691291 phi=4.50375, flav = [dbar s bbar ]
+SD flav jet 5: pt=3.13994 rap=-0.691291 phi=4.50375, flav = [dbar s bbar ]
+
+base jet 6: pt=2.35082 rap=-1.1166 phi=1.72703, flav = [bbar tbar ]
+SD flav jet 6: pt=2.35082 rap=-1.1166 phi=1.72703, flav = [bbar tbar ]
+
+base jet 7: pt=1.95982 rap=2.64586 phi=6.04213, flav = [t ]
+SD flav jet 7: pt=1.95982 rap=2.64586 phi=6.04213, flav = [t ]
+
+base jet 8: pt=1.70931 rap=1.69105 phi=4.08583, flav = [g]
+SD flav jet 8: pt=1.70931 rap=1.69105 phi=4.08583, flav = [g]
+
+base jet 9: pt=1.50529 rap=-6.76882 phi=1.10563, flav = [d u ]
+SD flav jet 9: pt=1.50529 rap=-6.76882 phi=1.10563, flav = [d u ]
+
+base jet 10: pt=1.44324 rap=-0.30942 phi=4.30172, flav = [dbar tbar ]
+SD flav jet 10: pt=1.44324 rap=-0.30942 phi=4.30172, flav = [dbar tbar ]
+
+base jet 11: pt=1.3805 rap=6.97565 phi=3.57174, flav = [u u ]
+SD flav jet 11: pt=1.3805 rap=6.97565 phi=3.57174, flav = [u u ]
+
+base jet 12: pt=1.16537 rap=-0.543484 phi=0.899606, flav = [g]
+SD flav jet 12: pt=1.16537 rap=-0.543484 phi=0.899606, flav = [g]
+
+base jet 13: pt=1.09978 rap=0.671207 phi=0.274905, flav = [g]
+SD flav jet 13: pt=1.09978 rap=0.671207 phi=0.274905, flav = [g]
+
+base jet 14: pt=0.790334 rap=-1.87131 phi=0.749723, flav = [d ]
+SD flav jet 14: pt=0.790334 rap=-1.87131 phi=0.749723, flav = [d ]
+
+base jet 15: pt=0.709179 rap=-1.28386 phi=3.63873, flav = [b ]
+SD flav jet 15: pt=0.709179 rap=-1.28386 phi=3.63873, flav = [b ]
+
+base jet 16: pt=0.60555 rap=4.24212 phi=1.46277, flav = [g]
+SD flav jet 16: pt=0.60555 rap=4.24212 phi=1.46277, flav = [g]
+
+base jet 17: pt=0.587027 rap=-1.37446 phi=1.18073, flav = [dbar ]
+SD flav jet 17: pt=0.587027 rap=-1.37446 phi=1.18073, flav = [dbar ]
+
+base jet 18: pt=0.577642 rap=-0.094035 phi=2.99253, flav = [g]
+SD flav jet 18: pt=0.577642 rap=-0.094035 phi=2.99253, flav = [g]
+
+base jet 19: pt=0.454481 rap=-2.56721 phi=5.28579, flav = [g]
+SD flav jet 19: pt=0.454481 rap=-2.56721 phi=5.28579, flav = [g]
+
+base jet 20: pt=0.355623 rap=2.4533 phi=1.26269, flav = [g]
+SD flav jet 20: pt=0.355623 rap=2.4533 phi=1.26269, flav = [g]
+
+base jet 21: pt=0.327886 rap=2.64178 phi=2.3723, flav = [d ubar ]
+SD flav jet 21: pt=0.327886 rap=2.64178 phi=2.3723, flav = [d ubar ]
+
+base jet 22: pt=0.263993 rap=2.92169 phi=3.4442, flav = [s ]
+SD flav jet 22: pt=0.263993 rap=2.92169 phi=3.4442, flav = [s ]
+
+base jet 23: pt=0.247987 rap=2.70088 phi=0.929617, flav = [g]
+SD flav jet 23: pt=0.247987 rap=2.70088 phi=0.929617, flav = [g]
+
+base jet 24: pt=0.242465 rap=-1.04439 phi=5.86004, flav = [c ]
+SD flav jet 24: pt=0.242465 rap=-1.04439 phi=5.86004, flav = [c ]
+
+base jet 25: pt=0.236598 rap=-0.611796 phi=3.18595, flav = [u ]
+SD flav jet 25: pt=0.236598 rap=-0.611796 phi=3.18595, flav = [u ]
+
+base jet 26: pt=0.208228 rap=0.375969 phi=0.962109, flav = [g]
+SD flav jet 26: pt=0.208228 rap=0.375969 phi=0.962109, flav = [g]
+
+base jet 27: pt=0.15822 rap=0.68517 phi=3.07155, flav = [dbar u ]
+SD flav jet 27: pt=0.15822 rap=0.68517 phi=3.07155, flav = [dbar u ]
+
+base jet 28: pt=0.113457 rap=-2.47296 phi=5.92295, flav = [g]
+SD flav jet 28: pt=0.113457 rap=-2.47296 phi=5.92295, flav = [g]
+
+base jet 29: pt=0.0639358 rap=-3.32117 phi=2.44455, flav = [g]
+SD flav jet 29: pt=0.0639358 rap=-3.32117 phi=2.44455, flav = [g]
+
+base jet 30: pt=0.0495317 rap=-2.63427 phi=2.85586, flav = [g]
+SD flav jet 30: pt=0.0495317 rap=-2.63427 phi=2.85586, flav = [g]
+
+base jet 31: pt=0.0399471 rap=-1.31163 phi=0.434634, flav = [bbar ]
+SD flav jet 31: pt=0.0399471 rap=-1.31163 phi=0.434634, flav = [bbar ]
+
+#---------------------------------------------------------------
+# read event 9 with 83 particles
+now do the sd...
+
+base jet 0: pt=152.951 rap=-1.12892 phi=3.71297, flav = [d ubar t ]
+SD flav jet 0: pt=152.951 rap=-1.12892 phi=3.71297, flav = [d ubar t ]
+
+base jet 1: pt=32.7921 rap=-1.47995 phi=3.14857, flav = [sbar ]
+SD flav jet 1: pt=32.7921 rap=-1.47995 phi=3.14857, flav = [sbar ]
+
+base jet 2: pt=14.5434 rap=-0.236368 phi=4.20355, flav = [s ]
+SD flav jet 2: pt=14.5434 rap=-0.236368 phi=4.20355, flav = [s ]
+
+base jet 3: pt=5.86654 rap=-0.108314 phi=0.65315, flav = [g]
+SD flav jet 3: pt=5.86654 rap=-0.108314 phi=0.65315, flav = [g]
+
+base jet 4: pt=5.74416 rap=-2.32732 phi=0.756969, flav = [dbar ]
+SD flav jet 4: pt=5.74416 rap=-2.32732 phi=0.756969, flav = [dbar ]
+
+base jet 5: pt=5.17296 rap=2.12147 phi=1.68231, flav = [ubar ]
+SD flav jet 5: pt=5.17296 rap=2.12147 phi=1.68231, flav = [ubar ]
+
+base jet 6: pt=4.33602 rap=0.46465 phi=2.86917, flav = [b ]
+SD flav jet 6: pt=4.33602 rap=0.46465 phi=2.86917, flav = [g]
+
+base jet 7: pt=2.73099 rap=1.78889 phi=1.08078, flav = [dbar s b ]
+SD flav jet 7: pt=2.73099 rap=1.78889 phi=1.08078, flav = [dbar s b ]
+
+base jet 8: pt=2.62421 rap=-3.75302 phi=0.131404, flav = [sbar ]
+SD flav jet 8: pt=2.62421 rap=-3.75302 phi=0.131404, flav = [sbar ]
+
+base jet 9: pt=2.5069 rap=-3.13063 phi=0.752968, flav = [d ]
+SD flav jet 9: pt=2.5069 rap=-3.13063 phi=0.752968, flav = [d ]
+
+base jet 10: pt=2.41865 rap=-5.27363 phi=5.52323, flav = [u ]
+SD flav jet 10: pt=2.41865 rap=-5.27363 phi=5.52323, flav = [u ]
+
+base jet 11: pt=2.36685 rap=0.783227 phi=4.1126, flav = [dbar ]
+SD flav jet 11: pt=2.36685 rap=0.783227 phi=4.1126, flav = [dbar ]
+
+base jet 12: pt=1.72118 rap=-2.04639 phi=1.19137, flav = [g]
+SD flav jet 12: pt=1.72118 rap=-2.04639 phi=1.19137, flav = [g]
+
+base jet 13: pt=1.60989 rap=-2.05891 phi=3.72483, flav = [cbar ]
+SD flav jet 13: pt=1.60989 rap=-2.05891 phi=3.72483, flav = [cbar ]
+
+base jet 14: pt=1.60656 rap=2.3736 phi=5.60829, flav = [ubar ]
+SD flav jet 14: pt=1.60656 rap=2.3736 phi=5.60829, flav = [ubar ]
+
+base jet 15: pt=1.58014 rap=0.352163 phi=3.36355, flav = [d ]
+SD flav jet 15: pt=1.58014 rap=0.352163 phi=3.36355, flav = [d ]
+
+base jet 16: pt=1.41626 rap=1.13344 phi=1.36331, flav = [g]
+SD flav jet 16: pt=1.41626 rap=1.13344 phi=1.36331, flav = [g]
+
+base jet 17: pt=1.37282 rap=-0.174236 phi=3.40338, flav = [g]
+SD flav jet 17: pt=1.37282 rap=-0.174236 phi=3.40338, flav = [g]
+
+base jet 18: pt=1.25878 rap=0.843536 phi=0.276936, flav = [g]
+SD flav jet 18: pt=1.25878 rap=0.843536 phi=0.276936, flav = [g]
+
+base jet 19: pt=1.08516 rap=1.45988 phi=0.801117, flav = [g]
+SD flav jet 19: pt=1.08516 rap=1.45988 phi=0.801117, flav = [g]
+
+base jet 20: pt=1.03617 rap=0.344136 phi=3.85723, flav = [s ]
+SD flav jet 20: pt=1.03617 rap=0.344136 phi=3.85723, flav = [s ]
+
+base jet 21: pt=0.993687 rap=1.28638 phi=2.04483, flav = [g]
+SD flav jet 21: pt=0.993687 rap=1.28638 phi=2.04483, flav = [g]
+
+base jet 22: pt=0.916153 rap=4.35779 phi=3.16858, flav = [d ]
+SD flav jet 22: pt=0.916153 rap=4.35779 phi=3.16858, flav = [d ]
+
+base jet 23: pt=0.893929 rap=7.10653 phi=2.90556, flav = [d u ]
+SD flav jet 23: pt=0.893929 rap=7.10653 phi=2.90556, flav = [d u ]
+
+base jet 24: pt=0.826875 rap=3.76396 phi=3.0137, flav = [g]
+SD flav jet 24: pt=0.826875 rap=3.76396 phi=3.0137, flav = [g]
+
+base jet 25: pt=0.816938 rap=2.12442 phi=2.24043, flav = [g]
+SD flav jet 25: pt=0.816938 rap=2.12442 phi=2.24043, flav = [g]
+
+base jet 26: pt=0.766619 rap=-1.35887 phi=4.55501, flav = [t ]
+SD flav jet 26: pt=0.766619 rap=-1.35887 phi=4.55501, flav = [t ]
+
+base jet 27: pt=0.766349 rap=-3.28078 phi=3.72099, flav = [sbar ]
+SD flav jet 27: pt=0.766349 rap=-3.28078 phi=3.72099, flav = [sbar ]
+
+base jet 28: pt=0.70842 rap=-1.08317 phi=4.24765, flav = [dbar ]
+SD flav jet 28: pt=0.70842 rap=-1.08317 phi=4.24765, flav = [dbar ]
+
+base jet 29: pt=0.694449 rap=-1.18419 phi=2.49964, flav = [g]
+SD flav jet 29: pt=0.694449 rap=-1.18419 phi=2.49964, flav = [g]
+
+base jet 30: pt=0.693864 rap=2.74422 phi=1.60533, flav = [g]
+SD flav jet 30: pt=0.693864 rap=2.74422 phi=1.60533, flav = [g]
+
+base jet 31: pt=0.693266 rap=0.908004 phi=3.67408, flav = [c ]
+SD flav jet 31: pt=0.693266 rap=0.908004 phi=3.67408, flav = [c ]
+
+base jet 32: pt=0.6169 rap=-2.53755 phi=3.33819, flav = [g]
+SD flav jet 32: pt=0.6169 rap=-2.53755 phi=3.33819, flav = [g]
+
+base jet 33: pt=0.5545 rap=1.44401 phi=4.53297, flav = [g]
+SD flav jet 33: pt=0.5545 rap=1.44401 phi=4.53297, flav = [g]
+
+base jet 34: pt=0.551647 rap=-6.46023 phi=3.54711, flav = [u ]
+SD flav jet 34: pt=0.551647 rap=-6.46023 phi=3.54711, flav = [u ]
+
+base jet 35: pt=0.537698 rap=2.14596 phi=4.69463, flav = [cbar ]
+SD flav jet 35: pt=0.537698 rap=2.14596 phi=4.69463, flav = [cbar ]
+
+base jet 36: pt=0.52627 rap=-0.847703 phi=1.80341, flav = [g]
+SD flav jet 36: pt=0.52627 rap=-0.847703 phi=1.80341, flav = [g]
+
+base jet 37: pt=0.493958 rap=4.44654 phi=4.38025, flav = [u ]
+SD flav jet 37: pt=0.493958 rap=4.44654 phi=4.38025, flav = [u ]
+
+base jet 38: pt=0.473269 rap=-1.08771 phi=3.03462, flav = [d ]
+SD flav jet 38: pt=0.473269 rap=-1.08771 phi=3.03462, flav = [d ]
+
+base jet 39: pt=0.451606 rap=1.48924 phi=5.63162, flav = [u ]
+SD flav jet 39: pt=0.451606 rap=1.48924 phi=5.63162, flav = [u ]
+
+base jet 40: pt=0.444205 rap=2.39205 phi=3.23499, flav = [cbar ]
+SD flav jet 40: pt=0.444205 rap=2.39205 phi=3.23499, flav = [cbar ]
+
+base jet 41: pt=0.433439 rap=-3.2787 phi=5.1718, flav = [g]
+SD flav jet 41: pt=0.433439 rap=-3.2787 phi=5.1718, flav = [g]
+
+base jet 42: pt=0.385991 rap=3.60074 phi=5.50009, flav = [dbar b ]
+SD flav jet 42: pt=0.385991 rap=3.60074 phi=5.50009, flav = [dbar b ]
+
+base jet 43: pt=0.303439 rap=0.859124 phi=2.02855, flav = [s ]
+SD flav jet 43: pt=0.303439 rap=0.859124 phi=2.02855, flav = [s ]
+
+base jet 44: pt=0.303365 rap=0.0119964 phi=2.88992, flav = [dbar ]
+SD flav jet 44: pt=0.303365 rap=0.0119964 phi=2.88992, flav = [dbar ]
+
+base jet 45: pt=0.294963 rap=-0.0219949 phi=0.145883, flav = [t ]
+SD flav jet 45: pt=0.294963 rap=-0.0219949 phi=0.145883, flav = [t ]
+
+base jet 46: pt=0.276345 rap=-1.04361 phi=0.382641, flav = [u ]
+SD flav jet 46: pt=0.276345 rap=-1.04361 phi=0.382641, flav = [u ]
+
+base jet 47: pt=0.265727 rap=-2.20735 phi=5.83133, flav = [g]
+SD flav jet 47: pt=0.265727 rap=-2.20735 phi=5.83133, flav = [g]
+
+base jet 48: pt=0.263552 rap=-0.85791 phi=1.10944, flav = [g]
+SD flav jet 48: pt=0.263552 rap=-0.85791 phi=1.10944, flav = [g]
+
+base jet 49: pt=0.233553 rap=3.88086 phi=6.06142, flav = [cbar ]
+SD flav jet 49: pt=0.233553 rap=3.88086 phi=6.06142, flav = [cbar ]
+
+base jet 50: pt=0.17563 rap=1.84172 phi=3.71244, flav = [sbar ]
+SD flav jet 50: pt=0.17563 rap=1.84172 phi=3.71244, flav = [sbar ]
Index: contrib/contribs/SDFPlugin/tags/1.0.2/include/fastjet/contrib/SDFPlugin.hh
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/include/fastjet/contrib/SDFPlugin.hh (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/include/fastjet/contrib/SDFPlugin.hh (revision 1522)
@@ -0,0 +1,86 @@
+#ifndef SDFLAV_DEF
+#define SDFLAV_DEF
+#include "fastjet/contrib/SoftDrop.hh"
+#include "fastjet/JadePlugin.hh"
+#include "fastjet/contrib/Recluster.hh"
+#include <memory>
+
+
+FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
+namespace contrib{
+
+/**
+ * @class SDFlavourCalc
+ * @brief A utility class applying SoftDrop algorithm with JADE reclustering
+ * as required by the SDFPlugin algorithm.
+ */
+
+
+class SDFlavourCalc {
+ public:
+
+ /** Constructor for SDFlavourCalc
+ *
+ * Initializes the SoftDrop algorithm with specified parameters for beta, zcut and R.
+ * The constructor also sets up a reclustering scheme using the JADE plugin.
+ *
+ * @param beta SoftDrop beta parameter, controlling the angular exponent. Must be strictly positive. Default is 2.
+ * @param zcut SoftDrop zcut parameter, defining the energy fraction threshold. Default is 0.1.
+ * @param R The jet radius parameter. Default is 0.4.
+ * @param modulo_2 If true uses modulo_2 flavour recombination, otherwise net is used. Default is false.
+ */
+ SDFlavourCalc(const double beta = 2,
+ const double zcut = 0.1,
+ const double R = 0.4,
+ const bool modulo_2 = false) : _modulo_2(modulo_2),
+ p_sd(new fastjet::contrib::SoftDrop(beta, zcut,
+ fastjet::contrib::RecursiveSymmetryCutBase::SymmetryMeasure::scalar_z,
+ R,
+ std::numeric_limits<double>::infinity(),
+ fastjet::contrib::RecursiveSymmetryCutBase::RecursionChoice::larger_pt,
+ 0)),
+ p_plugin(new fastjet::JadePlugin()),
+ p_recluster(new fastjet::Recluster(fastjet::JetDefinition(p_plugin.get()))){
+ p_sd->set_reclustering(true,p_recluster.get());
+ }
+
+ // flag to activate modulo_2 flavour recombination
+ bool _modulo_2;
+
+ /// Unique pointer to the SoftDrop instance
+ std::unique_ptr<fastjet::contrib::SoftDrop> p_sd;
+ /// Unique pointer to the JADE plugin for reclustering
+ std::unique_ptr<fastjet::JetDefinition::Plugin> p_plugin;
+ /// Unique pointer to the Recluster instance
+ std::unique_ptr<fastjet::Recluster> p_recluster;
+
+
+ /**
+ * @brief Applies the SoftDrop procedure to a single jet.
+ *
+ * @param jets A reference to a PseudoJet to process.
+ */
+ void operator()(fastjet::PseudoJet& jet);
+
+ /**
+ * @brief Applies the SoftDrop procedure to a vector of jets.
+ *
+ * @param jets A vector of PseudoJets to process.
+ */
+ void operator()(std::vector<fastjet::PseudoJet>& jets);
+
+ /**
+ * @brief Check that flavour recombination is the same between base jet definition
+ * and the SDFlavourCalc class
+ *
+ * @param jet_def A JetDefinition used to cluster the base jet
+ */
+ void check_flav_recombination(const fastjet::JetDefinition &jet_def) const;
+
+};
+
+} // namespace contrib
+
+FASTJET_END_NAMESPACE
+
+#endif
Index: contrib/contribs/SDFPlugin/tags/1.0.2/AUTHORS
===================================================================
--- contrib/contribs/SDFPlugin/tags/1.0.2/AUTHORS (revision 0)
+++ contrib/contribs/SDFPlugin/tags/1.0.2/AUTHORS (revision 1522)
@@ -0,0 +1,2 @@
+The SDFPlugin code has been provided by Simone Caletti,
+Daniel Reichelt, Andrew J. Larkoski and Simone Marzani
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Wed, May 14, 10:55 AM (1 d, 1 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5111297
Default Alt Text
(103 KB)
Attached To
rFASTJETSVN fastjetsvn
Event Timeline
Log In to Comment