ZZ Fusion Analysis 
| This is a detailed record on how the Marlin framework and adjacent packages are used for our analysis of the feasibility of the ZZ fusion channel with CLIC ILD at 1.4 TeV. |   | 
 Jet Finder and Flavour Tagging 
We use the 
LCFI
 flavour tagging package. This package consists of a topological vertex finder ZVTOP, which reconstructs secondary interactions, and a multivariate classifier which combines several jet-related variables to tag bottom, charm, and light quark jets (see 
diagram).
Our steering file will contain the jet finder, flavour tagging and LCFI processors, and we will write new 
slcio files containing the added collections: 
  <group name="JetFinders"/>
  <group name="MyTrueAngularJetFlavourProcessorCollection"/>
  <processor name="IPRPCutProcessor"/>
  <processor name="MyPerEventIPFitterProcessor"/>
  <processor name="ZVRESRPCutProcessor"/>
  <processor name="MyZVTOP_ZVRES"/>
  <processor name="FTRPCutProcessor"/>
  <processor name="MyFlavourTagInputsProcessor"/>
  <processor name="MyLCIOOutputProcessor"/>  
The 
JetFinder processor reconstructs 4 jets events from the input collection (LooseSelectedPandoraPFANewPFOs was used). For the reconstructed 4 jets, 
TrueAngularJetFlavourProcessor does 'truth tagging', i.e. determines the MC jet flavour (b-jet or c-jet).
The LCFI processors have the following functions:
 
-  IPRPCut		- selects Reconstructed Particles based on track parameters, number of hits etc.
-  PerEventIPFitter	- finds the event Interaction Point
-  ZVRESRP          -  vertex finder for reconstructed particles
-  ZVTOP_ZVRES 	- topological vertex finder 
-  FTRPCut:        - flavour tagging reconstructed particle cuts
-  FlavourTagInputs - from vertices and tracks calculates discriminating variables for the neural net
The 
LCIOOutput processor creates new 
slcio files containing the new collections added by the above processors. We found that the most 
time-consuming processor is 
ZVTOP_ZVRES with more than 10 s/event.
 Neural Network Training 
The 
slcio files created at the previous step contain the collections 
Durham_4Jets, 
FlavourTagInputs and 
TrueJetFlavour_4Jets, which we will use now to train our neural nets. We use the 
NeuralNetTrainer code included in the LCFI package. Separate nets were trained for 1, 2, or 3+ vertices to identify b-jets, c-jets, and c-jets with b background. Our steering file contains only:
  <processor name="MyNeuralNetTrainer" type="NeuralNetTrainer"/>
The neural nets are saved as XML files in 
nnets/ and will be used for flavour tagging (next step). No 
slcio output is written at this time.
 Purity and Efficiency Studies 
To determine the optimal cut for our b-tagging, a purity vs. efficiency study was performed. 
 Flavour Tagging 
Now are ready to employ the 
FlavourTag processor, which will do flavour tagging using the neural nets trained in the previous step. Our steering file contains the following processors:
  <processor name="MyFlavourTag"/>
  <processor name="ZZfusion"/>
The 
ZZfusion processor is used in our analysis.
 Acceptance Studies 
 Electrons from Hard Bremsstrahlung 
 Luminosity and Event Weights