"MarlinReco"  1.32.0
Classes | Public Member Functions | List of all members
marlin::SatoruJetFinderProcessor Class Reference

A universal jetfinder module developed by Satoru Yamashita. More...

#include <SatoruJetFinderProcessor.h>

Inheritance diagram for marlin::SatoruJetFinderProcessor:

Public Member Functions

virtual Processor * newProcessor ()
 
virtual void init ()
 Called at the begin of the job before anything is read. More...
 
virtual void processRunHeader (LCRunHeader *run)
 Called for every run.
 
virtual void processEvent (LCEvent *evt)
 Called for every event - the working horse.
 
virtual void end ()
 Called after data processing for clean up.
 

Detailed Description

A universal jetfinder module developed by Satoru Yamashita.

This processor is a wrapper to the multi algorithm jet finder code written by Satoru Yamashita for the OPAL collaboratoin. For further details concerning this fortran code read the OPAL Technical Note TN579.

To compile this processor, you need a FORTRAN77 compiler like g77 and you have to link against the CERNLIB. If you use the MARLIN package mechanism you have to add the following two lines to the 'userlib.gmk' file in the MARLIN directory: USERLIBS += -lg2c USERLIBS += -L /opt/products/cernlib/pro/lib/ -lmathlib -lkernlib

Steering file parameters:
Allways to specify:
InputCollection (e.g. energy flow object )of type reconstructed particle OutputCollection (e.g. jets )of type reconstructed particle Mode

At the moment 5 modes are implemented:

DurhamNjet: durham jetfinding with a fixed number of jets to be specify with NJetRequested

DurhamYCut: durham jetfinding with a fixed ycut to be specify with YCut

ConeBlanka cone jet finder with cone threshold energy of 0.7 GeV and R =0.2

Saturo first durham jetfinding, afterwards reassignment of the objects to the jet axes found in this first iteration with the jade sceme number of jets to be specify with NJetRequested

Manual everything to be set by hand:

* GlobalMode  (=MD below)                                                          
* NJetRequested  (=NJETRQ)                                                         
* Threshold      (= THRESH)                                                        
* PrimaryJetFindingMode (=IMODE)                                                   
* YCut           (=YCUTS)                                                          
* MerginMode     (=IEXAM)                                                          
* MergingThreshold (=FRAC)                                                         
* SecondJetFindingMode (=IEXAM4)                                                   
*                                                                                  
* Description                                                                      
* Inputs:                                                                          
*   MD      ; mode (see below)                                                     
*   NJETRQ  : fixed number of jets ; =0 variable -- use YCUT etc...                
*   THRESH  : threshold (GeV) for the primary jet finding                          
*   IMODE   : Kernel Jet finding mode                                              
*      1- 6 : YKERN                                                                
*       IF(IMODE.EQ.1) THEN                                                        
*          CM = 'JADE E0'                                                          
*        ELSEIF(IMODE.EQ.2) THEN                                                   
*          CM = 'JADE P '                                                          
*        ELSEIF(IMODE.EQ.3) THEN                                                   
*          CM = 'JADE P0'                                                          
*        ELSEIF(IMODE.EQ.4) THEN                                                   
*          CM = 'JADE E '                                                          
*        ELSEIF(IMODE.EQ.5) THEN                                                   
*          CM = 'DURHAM '                                                          
*        ELSEIF(IMODE.EQ.6) THEN                                                   
*          CM = 'GENEVA '                                                          
*        ELSE                                                                      
*          WRITE(6,281) IMODE                                                      
* 281      FORMAT(/,' ### YKERN: IMODE =',I3,' INVALID; SET TO 1 ###')             
*          IMODE = 1                                                               
*          CM = 'JADE E0'                                                          
*        ENDIF                                                                     
*                                                                                  
*                                                                                  
*                                                                                  
*         7 : cambridge                                                            
*      9-11 : LUCLUS                                                               
*        12 : cone                                                                 
*   YCUTS   : (1) ycut or xcut or Cone Radius (2) EPS                              
*   IEXAM   : Particle re-association method 1-6                                   
*            EXAM(1) = THETA                                                       
*            EXAM(2) = PART(4)*PJSTMP(4,J)-PART(1)*PJSTMP(1,J)                     
*     +                -PART(2)*PJSTMP(2,J)-PART(3)*PJSTMP(3,J)                    
*            EXAM(3) = DURHAM                                                      
*            EXAM(4) = E0JADE                                                      
*            EXAM(5) = Geneva Scheme                                               
*            EXAM(6) = EJADE   ! it makes too bad cross talk                       
*                                                                                  
*   FRAC    : core rate                                                            
*   IEXAM4  : Jet merge method 1-8                                                 
*            EXAM(1,N) = PL(4,I)*PL(4,J)                                           
*            EXAM(2,N) = PL(4,I)*PL(4,J)-PL(1,I)*PL(1,J)                           
*     +           -PL(2,I)*PL(2,J)-PL(3,I)*PL(3,J)                                 
*            EXAM(3,N) = DURHAM(I,J)                                               
*            EXAM(4,N) = E0JADE(I,J)                                               
*            EXAM(5,N) = EJADE(I,J)                                                
*            EXAM(6,N) = ANGLE(I,J)                                                
*            EXAM(7,N) = ECOS(I,J)                                                 
*            EXAM(8,N) = PL(6,I)*PL(6,J)                                           
*   NPAR    : Number of "particles"                                                
*   IDIM    : first dimension of PPAR array                                        
*   PPAR    : Particle Momenta                                                     
*   MXJET   : Maximum Number of Jets (buffer size for PJETS = MXJETS*JDIM)         
*   JDIM    : first dimension of PJETS array                                       
*                                                                                  
* Outputs:                                                                         
*   NJET    : Number of Jets                                                       
*   IASS    : Jet assosiation for "particle"s                                      
*   PJETS   : Jet momenta                                                          
*   Y34     : YHI (sometimes not filled)                                           
*   Y45     : YLO (sometimes not filled)                                           
*   IERR    : Error flag  0==All O.K.                                              
*     -9999: abnormal error                                                        
*      -999: boundary error                                                        
*       -99: input mismatch                                                        
*      Others : error from various internal calls                                  
* ==========================================================================       
*   MD                                                                             
* There are 11 variations                                                          
* MD   Name      : Final NJ    : 1st process  : 2nd process : 3rd process          
* 0a. Traditional: variable    :  fixed Ycuts :     -       :   -                  
* 0b. Traditional: fixed Njets :  fixed Njets :     -       :   -                  
* 0c. Just Merge : fixed Njets :  fixed Ycuts : do merge    :   -                  
* 1a. LMODE1     : variable    :  fixed Ycuts : do SYJETF1  :   -                  
* 1b. LMODE1     : fixed final :  fixed Ycuts : do SYJETF1  : do merge             
* 1c. LMODE1     : fixed final :  fixed Njets : do SYJETF1  :   -                  
* 1d. LMODE1     : fixed final :  fixed Ycuts : do merge    : do SYJETF1           
* 2a. LMODE2     : variable    :  fixed Ycuts : do SYJETF2  :   -                  
* 2b. LMODE2     : fixed final :  fixed Ycuts : do SYJETF2  : do merge             
* 2c. LMODE2     : fixed final :  fixed Njets : do SYJETF2  :   -                  
* 2d. LMODE2     : fixed final :  fixed Ycuts : do merge    : do SYJETF2           
* ===========================================================================      
*  MD & NJETRQ &  IMODE  & YCUTS & IEXAM &  Frac   &  IEXAM4 &     ISYMOD          
*  0a &   -    &   1-12  &  > 0  &   -   &   -     &     -   &        1            
*  0b &  > 0   &   1-12  &   -   &   -   &   -     &     -   &        2            
*  0c &  > 0   &   1-12  &  > 0  &   -   &   -     &    1-8  &        3            
*  1a &   -    &   1-12  &  > 0  &  1-6  & 0.0-1.0 &     -   &       11            
*  1b &  > 0   &   1-12  &  > 0  &  1-6  & 0.0-1.0 &    1-8  &       12            
*  1c &  > 0   &   1-12  &   -   &  1-6  & 0.0-1.0 &     -   &       13            
*  1d &  > 0   &   1-12  &  > 0  &  1-6  & 0.0-1.0 &    1-8  &       14            
*  2a &   -    &   1-12  &  > 0  &  1-6  & 0.0-1.0 &     -   &       21            
*  2b &  > 0   &   1-12  &  > 0  &  1-6  & 0.0-1.0 &    1-8  &       22            
*  2c &  > 0   &   1-12  &   -   &  1-6  & 0.0-1.0 &     -   &       23            
*  2d &  > 0   &   1-12  &  > 0  &  1-6  & 0.0-1.0 &    1-8  &       24            
* ===========================================================================      
*                                                                                  
*                                                                                  
*                                                                                    
* 
Author
Satoru Yamashita (original fortran code), Thorsten Kuhl, Jörgen Samson
Version
$Id$

Member Function Documentation

virtual void marlin::SatoruJetFinderProcessor::init ( )
virtual

Called at the begin of the job before anything is read.

Use to initialize the module, e.g. book histograms.


The documentation for this class was generated from the following file: