LCFIVertex  0.7.2
PlotProcessor.h
1 #ifndef PlotProcessor_h
2 #define PlotProcessor_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 PlotProcessor : public marlin::Processor
62 {
63 public:
64  //The usual Marlin processor methods
65  virtual Processor* newProcessor() { return new PlotProcessor; }
66  PlotProcessor();
67  virtual ~PlotProcessor();
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;
76  std::vector<std::string> _FlavourTagCollectionNames;
77  std::string _TrueJetFlavourColName;
78  std::string _OutputFilename;
79  std::vector<std::map<std::string,unsigned int> > _IndexOfForEachTag;
80  int _nRun;
84  std::vector<efficiency_purity<double> > _BTagEfficiencyPurity;
85  std::vector<efficiency_purity<double> > _CTagEfficiencyPurity;
86  std::vector<efficiency_purity<double> > _BCTagEfficiencyPurity;
88  //useful constants
89  static const int C_JET=4;
90  static const int B_JET=5;
92  void _displayCollectionNames( lcio::LCEvent* pEvent );
93  bool _passesEventCuts( lcio::LCEvent* pEvent );
94  bool _passesJetCuts( lcio::ReconstructedParticle* pJet );
95 
96  void _fillPlots( LCEvent* pEvent, unsigned int jet);
97  void _outputDataToFile( std::string filename );
99  double _jetEMax;
100 };
101 
102 #endif //ifndef PlotProcessor_h
std::vector< efficiency_purity< double > > _BCTagEfficiencyPurity
Definition: PlotProcessor.h:86
std::vector< efficiency_purity< double > > _CTagEfficiencyPurity
Definition: PlotProcessor.h:85
std::vector< efficiency_purity< double > > _BTagEfficiencyPurity
Definition: PlotProcessor.h:84
bool _passesJetCuts(lcio::ReconstructedParticle *pJet)
void _fillPlots(LCEvent *pEvent, unsigned int jet)
std::vector< std::string > _FlavourTagCollectionNames
Definition: PlotProcessor.h:76
static const int B_JET
Definition: PlotProcessor.h:90
std::string _TrueJetFlavourColName
Definition: PlotProcessor.h:77
static const int C_JET
Definition: PlotProcessor.h:89
std::string _OutputFilename
Definition: PlotProcessor.h:78
Creates some sample plots from the data calculated by the LCFI vertex package.
Definition: PlotProcessor.h:61
void _displayCollectionNames(lcio::LCEvent *pEvent)
histogram_data< double > _jetEnergy
Definition: PlotProcessor.h:82
std::string _JetCollectionName
Definition: PlotProcessor.h:75
bool _passesEventCuts(lcio::LCEvent *pEvent)
void _outputDataToFile(std::string filename)