All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
YThresh.h
Go to the documentation of this file.
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 
24  float Momentum[1200];
25  int PointerParticleToJets[450];
26 };
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;
82  std::string _globalMode;
84  int _output;
86  float _threshold;
88  float _yCutParam;
89  float _rConeParam;
91  float _yCut[2];
95  float _yStart;
96 } ;
97 
98 #endif
99 
100 
101 
int _primaryJetFindingMode
Definition: YThresh.h:87
void syjkrn_(const char *GlobalModus_, int &NJetRequested_, float &Threshold_, int &PrimaryJetFindingMode_, float *YCut_, int &MergingMode_, float &MergingThreshold_, int &SecondJetFindingMode_, int &NumberOfPartons_, int &DimensionOfInputArray_, float *PPartons_, int &MaximalNumberOfJets_, int &NJetsFound_, int *PointerParicleToJet_, int &DimensionOfOutputArray_, float *PJets_, float &YMinus_, float &YPlus_, int &IError_, int GlobalModusLenght_)
float _threshold
Definition: YThresh.h:86
SatoruJetsArray _jetsWorkArray
Definition: YThresh.h:81
int _output
Definition: YThresh.h:84
float _yStart
Definition: YThresh.h:95
int _nJetRequested
Definition: YThresh.h:85
int _nRun
Definition: YThresh.h:75
std::string _inputCollection
Definition: YThresh.h:78
int _printOutput
Definition: YThresh.h:76
int NumberOfJets
Definition: YThresh.h:28
int _nMinParticles
Definition: YThresh.h:83
int _mergingMode
Definition: YThresh.h:92
SatoruPartonArray _partonsWorkArray
Definition: YThresh.h:80
std::string _globalMode
Definition: YThresh.h:82
float _rConeParam
Definition: YThresh.h:89
std::string _jetFindingMode
Definition: YThresh.h:79
int _nMin
Definition: YThresh.h:77
int _secondJetFindingMode
Definition: YThresh.h:94
int NumberOfPartons
Definition: YThresh.h:23
float _epsConeParam
Definition: YThresh.h:90
float _yCutParam
Definition: YThresh.h:88
virtual Processor * newProcessor()
Definition: YThresh.h:61
float _mergingThreshold
Definition: YThresh.h:93