"MarlinReco"  1.16.0
YThresh.h
1 //-------------------------------------------------------------------------------------------------------------
2 // The YThresh module calculates the yThresh variable, which is the crossover value of the yCut jet finding
3 // variable from NMin to NMin+1 jets found using durhamycut. For example, if NMin=2 the yThresh variable is
4 // the value of yCut above which durhamycut returns 2 jets, below which it returns 3 jets. The value of
5 // yThresh will be stored as a parameter in the ReconstructedParticle collection with name y[NMin][NMin+1],
6 // ie y23 for NMin=2. SatoruJetFinder must be installed for this package to run.
7 // For questions/comments please email Ben Hooberman at benhooberman@berkeley.edu
8 //-------------------------------------------------------------------------------------------------------------
9 
10 
11 #ifndef YThresh_h
12 #define YThresh_h 1
13 
14 #include "marlin/Processor.h"
15 #include "lcio.h"
16 #include <string>
17 //#include "TH1.h"
18 #include "IMPL/LCCollectionVec.h"
19 
20 using namespace lcio ;
21 
23  int NumberOfPartons;
24  float Momentum[1200];
25  int PointerParticleToJets[450];
26 };
28  int NumberOfJets;
29  float Momentum[80];
30 };
31 
32 extern "C" {
33  void syjkrn_( const char* GlobalModus_,
34  // Primary jet finding
35  int &NJetRequested_,float &Threshold_,
36  int &PrimaryJetFindingMode_,float* YCut_,
37  // Reassosiation after first jet finding
38  int &MergingMode_,float &MergingThreshold_,
39  // Second Jet finding mode
40  int &SecondJetFindingMode_,
41  // input array--> array of
42  // PPartons(DimensionOfInputArray(4-6),NumberOfPartons)
43  int &NumberOfPartons_,
44  int &DimensionOfInputArray_,float *PPartons_,
45  // Output
46  int &MaximalNumberOfJets_,
47  int &NJetsFound_,int *PointerParicleToJet_,
48  int &DimensionOfOutputArray_,float *PJets_,
49  float &YMinus_,float &YPlus_,
50  // error flag
51  int &IError_,int GlobalModusLenght_)
52  ;}
53 
54 using namespace marlin ;
55 using namespace std;
56 
57 class YThresh : public Processor {
58 
59  public:
60 
61  virtual Processor* newProcessor() { return new YThresh ; }
62 
63  YThresh() ;
64 
65  virtual void init() ;
66  virtual void processRunHeader( LCRunHeader* run ) ;
67  virtual void processEvent( LCEvent * evt ) ;
68  virtual void check( LCEvent * evt ) ;
69  void putPartons(LCEvent * evt);
70  void callSatoru(LCEvent * evt);
71  virtual void end() ;
72 
73  protected:
74 
75  int _nRun,_nEvt;
76  int _nRecoParticles,_printOutput;
77  int _nMin,_nIter;
78  std::string _inputCollection;
79  std::string _jetFindingMode;
80  SatoruPartonArray _partonsWorkArray;
81  SatoruJetsArray _jetsWorkArray;
82  std::string _globalMode;
83  int _nMinParticles;
84  int _output;
85  int _nJetRequested;
86  float _threshold;
87  int _primaryJetFindingMode;
88  float _yCutParam;
89  float _rConeParam;
90  float _epsConeParam;
91  float _yCut[2];
92  int _mergingMode;
93  float _mergingThreshold;
94  int _secondJetFindingMode;
95  float _yStart;
96 } ;
97 
98 #endif
99 
100 
101 
Definition: YThresh.h:57
Definition: YThresh.h:22
Definition: YThresh.h:27