LCFIVertex  0.7.2
DSTPlotProcessor.h
1 #ifndef DSTPlotProcessor_h
2 #define DSTPlotProcessor_h
3 
4 #include <vector>
5 #include <algorithm>
6 
7 #include "../vertex_lcfi/util/inc/util.h"
8 
9 //Marlin and LCIO includes
10 #include "marlin/Processor.h"
11 #include "lcio.h"
12 #include "EVENT/ReconstructedParticle.h"
13 
16 
61 class DSTPlotProcessor : public marlin::Processor
62 {
63 public:
64  //The usual Marlin processor methods
65  virtual Processor* newProcessor() { return new DSTPlotProcessor; }
67  virtual ~DSTPlotProcessor();
68  virtual void init();
69  virtual void processRunHeader( LCRunHeader* pRun );
70  virtual void processEvent( LCEvent* pEvent );
71  //don't need this
72  //virtual void check( LCEvent* pEvent );
73  virtual void end();
74 protected:
75  std::string _JetCollectionName;
77  std::string _TrueJetFlavourColName;
78  std::string _OutputFilename;
80  int _nRun;
82  std::string _FlavourTagCollectionName;
83  std::string _FlavourTagInputsCollectionName;
84 
85  std::map<std::string,unsigned int> _IndexOfForEachTag;
86  std::map<std::string,unsigned int> _FlavourIndex;
87  std::map<std::string,unsigned int>_InputsIndex;
88 
89 
93  efficiency_purity<double>_BTagEfficiencyPurity;
94  efficiency_purity<double>_CTagEfficiencyPurity;
95  efficiency_purity<double>_BCTagEfficiencyPurity;
96 
97  int _checkDST;
98  //useful constants
99  static const int C_JET=4;
100  static const int B_JET=5;
102  void _displayCollectionNames( lcio::LCEvent* pEvent );
103  bool _passesEventCuts( lcio::LCEvent* pEvent );
104  bool _passesJetCuts( lcio::ReconstructedParticle* pJet );
105 
106  void _fillPlots( LCEvent* pEvent, unsigned int jet);
107  void _outputDataToFile( std::string filename );
109  double _jetEMax;
111  void _checkDSTParameters(LCEvent* pEvent);
112 
113 };
114 
115 #endif //ifndef DSTPlotProcessor_h
void _fillPlots(LCEvent *pEvent, unsigned int jet)
bool _passesJetCuts(lcio::ReconstructedParticle *pJet)
static const int C_JET
std::string _JetCollectionName
std::string _TrueJetFlavourColName
std::string _OutputFilename
bool _passesEventCuts(lcio::LCEvent *pEvent)
histogram_data< double > _jetEnergy
void _outputDataToFile(std::string filename)
static const int B_JET
void _displayCollectionNames(lcio::LCEvent *pEvent)
Creates some sample plots from the data calculated by the LCFI vertex package.