LCFIVertex  0.7.2
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
LCFIAIDAPlotProcessor Class Reference

LCFIAIDAPlotProcessor Class - make plots of the LCFI flavour tag and vertex charge code. More...

#include <LCFIAIDAPlotProcessor.h>

Inheritance diagram for LCFIAIDAPlotProcessor:
Inheritance graph
[legend]
Collaboration diagram for LCFIAIDAPlotProcessor:
Collaboration graph
[legend]

Public Member Functions

virtual Processor * newProcessor ()
 
virtual void init ()
 
virtual void processRunHeader (LCRunHeader *pRun)
 
virtual void processEvent (LCEvent *pEvent)
 
virtual void check (LCEvent *pEvent)
 
virtual void end ()
 

Protected Member Functions

bool PassesEventCuts (LCEvent *pEvent)
 
bool PassesJetCuts (ReconstructedParticle *pJet)
 
void FillInputsPlots (LCEvent *pEvent, unsigned int jetNumber)
 
void FillTagPlots (LCEvent *pEvent, unsigned int jetNumber)
 
void FillVertexChargePlots (LCEvent *pEvent, unsigned int jetNumber)
 
void FillVertexPlots (LCEvent *pEvent, unsigned int jetNumber)
 
void CalculateEfficiencyPurityPlots ()
 
void CalculateAdditionalPlots ()
 
void CreateFlavourTagInputPlots (LCRunHeader *pRun)
 
void CreateFlavourTagTuple ()
 
void CreateTagPlots ()
 
void CreateAdditionalPlots ()
 
float CalculateDistance (const float *pos1, const float *pos2)
 
double CalculateDistance (const double *pos1, const double *pos2)
 
int FindTrueJetType (LCEvent *pEvent, unsigned int jetNumber)
 Finds the true flavour of a jet (uses TrueJetFlavourCollection)
 
float FindTrueJetHadronCharge (LCEvent *pEvent, unsigned int jetNumber)
 Finds the true charge of the hadron producing a jet (uses TrueJetFlavourCollection)
 
int FindTrueJetPDGCode (LCEvent *pEvent, unsigned int jetNumber)
 Finds the PDG code of the hadron producing a jet (uses TrueJetFlavourCollection)
 
float FindTrueJetPartonCharge (LCEvent *pEvent, unsigned int jetNumber)
 Finds the true charge of the parton producing a jet (uses TrueJetFlavourCollection)
 
int FindTrueJetFlavour (LCEvent *pEvent, unsigned int jetNumber)
 Finds the true flavour of the jet (uses TrueJetFlavourCollection)
 
void FindTrueJetDecayLength (LCEvent *pEvent, unsigned int jetNumber, std::vector< double > &decaylengthvector, std::vector< double > &bjetdecaylengthvector, std::vector< double > &cjetdecaylengthvector)
 Finds the true decay length of the longest b- or c- hadron in a jet.
 
void FindTrueJetDecayLength2 (LCEvent *pEvent, unsigned int jetNumber, double &bjetdecaylength, double &cjetdecaylength)
 
int FindNumVertex (LCEvent *pEvent, unsigned int jetNumber, unsigned int iInputsCollection)
 Finds the number of vertices in an event (from the flavour tag inputs)
 
int FindCQVtx (LCEvent *pEvent, unsigned int jetNumber)
 Finds the vertex charge of the jet - using cuts tuned to find vertex charge for C-jets (from CVertexChargeCollection)
 
int FindBQVtx (LCEvent *pEvent, unsigned int jetNumber)
 Finds the vertex charge of the jet - using cuts tuned to find vertex charge for B-jets (from BVertexChargeCollection)
 
void CalculateTagEfficiency (const AIDA::IHistogram1D *pSignal, std::vector< double > &tagEfficiency, std::vector< double > &tagError)
 
void CalculateTagPurity (const AIDA::IHistogram1D *pSignal, const AIDA::IHistogram1D *pBackground, std::vector< double > &tagPurity, std::vector< double > &tagPurityError)
 
void CalculateIntegralAndBackgroundPlots ()
 
int GetPDGFlavour (int code)
 
void FillZVRESTable (LCEvent *pEvent)
 
void PrintNNOutput ()
 
void PrintZVRESTable ()
 
void InitialiseFlavourTagInputs (LCRunHeader *pRun)
 
void InternalVectorInitialisation ()
 
AIDA::IDataPointSet * CreateEfficiencyPlot (const AIDA::IHistogram1D *pSignal, AIDA::IDataPointSet *pDataPointSet)
 Makes a DataPointSet of the tag efficiency e.g number of B-jets passing a given B-tag NN cut, as a function of NN.
 
AIDA::IDataPointSet * CreateEfficiencyPlot2 (const AIDA::IHistogram1D *pAllEvents, const AIDA::IHistogram1D *pPassEvents, AIDA::IDataPointSet *pDataPointSet)
 Makes a DataPointSet of histogram 1 divide by histogram 2 - this is an IDataPointSet as a histrogram gives the wrong errors.
 
AIDA::IDataPointSet * CreateIntegralPlot (const AIDA::IHistogram1D *pNN, AIDA::IDataPointSet *pIntegral)
 Makes a DataPointSet integrating a histogram from the first bin to the last bin – NOT USED.
 
AIDA::IDataPointSet * CreatePurityPlot (const AIDA::IHistogram1D *pSignal, const AIDA::IHistogram1D *pBackground, AIDA::IDataPointSet *pDataPointSet)
 Makes a DataPointSet of the tag purity e.g. N(B-jets passing NN cut)/N(all-jets passing NN cut) for a given B-tag NN cut, as a function of NN.
 
AIDA::IDataPointSet * CreateLeakageRatePlot (const AIDA::IHistogram1D *pBackground, AIDA::IDataPointSet *pDataPointSet)
 Makes a DataPointSet showing the tagging leakage e.g. the number of non-B-jets passing a given B-tag NN cut, as a function of NN.
 
AIDA::IDataPointSet * CreateXYPlot (const AIDA::IDataPointSet *pDataPointSet0, const AIDA::IDataPointSet *pDataPointSet1, AIDA::IDataPointSet *xyPointSet, const int dim0=0, const int dim1=0)
 Plots two DataPointSets against each other.
 
AIDA::IHistogram1D * CreateIntegralHistogram (const AIDA::IHistogram1D *pNN, AIDA::IHistogram1D *pIntegral)
 Makes a histogram integrating a histogram from the first bin to the last bin - THE ERRORS RETURNED ARE WRONG!
 
void CreateVertexChargeLeakagePlot (AIDA::IDataPointSet *pBJetVtxChargeDPS, AIDA::IDataPointSet *pCJetVtxChargeDPS)
 Makes DataPointSets for the number of.
 
void CreateVertexChargeLeakagePlot ()
 

Protected Attributes

std::vector< std::string > _FlavourTagCollectionNames
 required input collections
 
std::vector< std::string > _FlavourTagInputsCollectionNames
 
std::string _TrueJetFlavourColName
 
std::string _JetCollectionName
 
std::string _VertexColName
 
std::string _CVertexChargeCollection
 
std::string _BVertexChargeCollection
 
std::string _TrueTracksToMCPCollection
 
std::string _ZVRESSelectedJetsCollection
 
std::string _ZVRESDecayChainRPTracksCollection
 
std::string _ZVRESDecayChainCollection
 
double _CosThetaJetMax
 cuts on all jets
 
double _CosThetaJetMin
 cuts on all jets
 
double _PJetMin
 cuts on all jets
 
double _PJetMax
 cuts on all jets
 
double _BTagNNCut
 Cut on the NN output variables - applied in vertex charge plots.
 
double _CTagNNCut
 Cut on the NN output variables - applied in vertex charge plots.
 
bool _PrintTrackVertexOutput
 optional parameters to make an ntuple of the neural net inputs; and print out the tagging ouputs (useful for scripts)
 
bool _MakeTuple
 
bool _MakePurityEfficiencyPlots
 
bool _PrintPurityEfficiencyValues
 
bool _MakeAdditionalPlots
 
std::string _PurityEfficiencyOutputFile
 
std::string _TrackVertexOutputFile
 
int _iVertexChargeTagCollection
 
unsigned int _myVertexChargeTagCollection
 
std::vector< std::string > _VertexCatNames
 
std::vector< std::string > _NumVertexCatDir
 
std::vector< std::string > _ZoomedVarNames
 
std::string _MCParticleColName
 
std::vector< AIDA::IHistogram2D * > _pBJetCharge
 
std::vector< AIDA::IHistogram2D * > _pCJetCharge
 
std::vector< AIDA::IHistogram1D * > _pCDecayLengthAll
 
std::vector< AIDA::IHistogram1D * > _pBDecayLengthAll
 
std::vector< AIDA::IHistogram1D * > _pCDecayLengthTwoVertices
 
std::vector< AIDA::IHistogram1D * > _pBDecayLengthTwoVertices
 
AIDA::IHistogram2D * _pBJetCharge2D
 True B-jets - vertex charge vs true charge.
 
AIDA::IHistogram2D * _pCJetCharge2D
 True C-jets - vertex charge vs true charge.
 
AIDA::IHistogram1D * _pBJetLeakageRate
 True B-jets - vertex charge leakage rate.
 
AIDA::IHistogram1D * _pCJetLeakageRate
 True C-jets - vertex charge leakage rate.
 
AIDA::IHistogram1D * _pBJetVertexCharge
 True B-jets - vertex charge.
 
AIDA::IHistogram1D * _pCJetVertexCharge
 True C-jets - vertex charge.
 
AIDA::IHistogram2D * _decayLengthCJet2D
 
AIDA::IHistogram2D * _decayLengthBJet2D
 
AIDA::ICloud2D * _decayLengthCJetCloud2D
 
AIDA::ICloud2D * _decayLengthBJetCloud2D
 
std::vector< std::map
< std::string, unsigned int > > 
_IndexOfForEachTag
 
std::vector< std::map
< std::string, unsigned int > > 
_InputsIndex
 
std::vector< std::map
< std::string, unsigned int > > 
_ZoomedInputsIndex
 
std::map< std::string,
unsigned int > 
_FlavourIndex
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_inputsHistogramsBJets
 Histograms of the neural net inputs for true B-jets.
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_inputsHistogramsCJets
 Histograms of the neural net inputs for true C-jets.
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_inputsHistogramsUDSJets
 Histograms of the neural net inputs for light B-jets.
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_zoomedInputsHistogramsBJets
 Zoomed-in histograms of some of the neural net inputs for true B-jets.
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_zoomedInputsHistogramsCJets
 Zoomed-in histograms of some of the neural net inputs for true C-jets.
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_zoomedInputsHistogramsUDSJets
 Zoomed-in histograms of some of the neural net inputs for true light-jets.
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pLightJetBTag
 Histograms of the neural net B-tag outputs for true light-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pLightJetCTag
 Histograms of the neural net C-tag outputs for true light-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBJetBTag
 Histograms of the neural net B-tag outputs for true B-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBJetCTag
 Histograms of the neural net C-tag outputs for true B-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pCJetBTag
 Histograms of the neural net B-tag outputs for true C-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pCJetCTag
 Histograms of the neural net C-tag outputs for true C-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBJetBCTag
 Histograms of the neural net BC-tag outputs for true B-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pCJetBCTag
 Histograms of the neural net BC-tag outputs for true C-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pLightJetBCTag
 Histograms of the neural net BC-tag outputs for true light-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBTagBackgroundValues
 Histograms of the neural net B-tag outputs for non B-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pCTagBackgroundValues
 Histograms of the neural net C-tag outputs for non C-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBCTagBackgroundValues
 Histograms of the neural net BC-tag outputs for non C-jets - seperately for different number of vertices in the jets, 1, 2, >=3, any (sum of previous)
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBJetBTagIntegral
 Histograms of the neural net tags - number of events that pass a given cut: jet NN value > given NN value for the three tags - B-tag, C-tag, BC-tag. More...
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pCJetBTagIntegral
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pLightJetBTagIntegral
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBJetCTagIntegral
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pCJetCTagIntegral
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pLightJetCTagIntegral
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pBJetBCTagIntegral
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pCJetBCTagIntegral
 
std::vector< std::map
< std::string,
AIDA::IHistogram1D * > > 
_pLightJetBCTagIntegral
 
int _numberOfPoints
 Number of bins used for neural nets plots.
 
AIDA::ITuple * _pMyTuple
 Tuple of the input variables - only filled for one input collection - selected with UseFlavourTagCollectionForVertexCharge.
 
int _lastRunHeaderProcessed
 
int _suppressOutputForRun
 
AIDA::IHistogram1D * _pVertexDistanceFromIP
 
AIDA::IHistogram1D * _pVertexPositionX
 
AIDA::IHistogram1D * _pVertexPositionY
 
AIDA::IHistogram1D * _pVertexPositionZ
 
AIDA::IHistogram1D * _pPrimaryVertexPullX
 
AIDA::IHistogram1D * _pPrimaryVertexPullY
 
AIDA::IHistogram1D * _pPrimaryVertexPullZ
 
AIDA::IHistogram1D * _pPrimaryVertexPositionX
 
AIDA::IHistogram1D * _pPrimaryVertexPositionY
 
AIDA::IHistogram1D * _pPrimaryVertexPositionZ
 
AIDA::IHistogram1D * _reconstructedSecondaryDecayLength
 
AIDA::IHistogram1D * _reconstructedSecTerDecayLength
 
AIDA::IHistogram2D * _numberOfJetsDC
 
AIDA::IHistogram1D * _numberOfSecondaryVertices
 
AIDA::IHistogram1D * _recoDecayLengthBJet
 
AIDA::IHistogram1D * _recoDecayLengthBCJet
 
AIDA::IHistogram1D * _nVerticesBJet
 
AIDA::IHistogram1D * _recoDecayLengthCJet
 
AIDA::IHistogram1D * _nVerticesCJet
 
AIDA::IHistogram1D * _recoDecayLengthLightJet
 
AIDA::IHistogram1D * _nVerticesLightJet
 
AIDA::IHistogram1D * _decayLengthBJetTrue
 
AIDA::IHistogram1D * _decayLengthBCJetTrue
 
AIDA::IHistogram1D * _decayLengthCJetTrue
 
int _cJet_truePlus2
 numbers of true C-jets with true charge ++
 
int _cJet_truePlus
 numbers of true C-jets with true charge +
 
int _cJet_trueNeut
 numbers of true C-jets with true charge 0
 
int _cJet_trueMinus
 numbers of true C-jets with true charge -
 
int _cJet_trueMinus2
 numbers of true C-jets with true charge –
 
int _cJet_truePlus2_recoPlus
 numbers of true C-jets with true charge ++; reconstructed vertex charge >0
 
int _cJet_truePlus2_recoNeut
 numbers of true C-jets with true charge ++; reconstructed vertex charge =0
 
int _cJet_truePlus2_recoMinus
 numbers of true C-jets with true charge ++; reconstructed vertex charge <0
 
int _cJet_truePlus_recoPlus
 numbers of true C-jets with true charge +; reconstructed vertex charge >0
 
int _cJet_truePlus_recoNeut
 numbers of true C-jets with true charge +; reconstructed vertex charge =0
 
int _cJet_truePlus_recoMinus
 numbers of true C-jets with true charge +; reconstructed vertex charge <0
 
int _cJet_trueNeut_recoPlus
 numbers of true C-jets with true charge 0; reconstructed vertex charge >0
 
int _cJet_trueNeut_recoNeut
 numbers of true C-jets with true charge 0; reconstructed vertex charge =0
 
int _cJet_trueNeut_recoMinus
 numbers of true C-jets with true charge 0; reconstructed vertex charge <0
 
int _cJet_trueMinus_recoPlus
 numbers of true C-jets with true charge -; reconstructed vertex charge >0
 
int _cJet_trueMinus_recoNeut
 numbers of true C-jets with true charge -; reconstructed vertex charge =0
 
int _cJet_trueMinus_recoMinus
 numbers of true C-jets with true charge -; reconstructed vertex charge <0
 
int _cJet_trueMinus2_recoPlus
 numbers of true C-jets with true charge –; reconstructed vertex charge >0
 
int _cJet_trueMinus2_recoNeut
 numbers of true C-jets with true charge –; reconstructed vertex charge =0
 
int _cJet_trueMinus2_recoMinus
 numbers of true C-jets with true charge –; reconstructed vertex charge <0
 
int _bJet_truePlus2
 numbers of true B-jets with true charge ++
 
int _bJet_truePlus
 numbers of true B-jets with true charge +
 
int _bJet_trueNeut
 numbers of true B-jets with true charge 0
 
int _bJet_trueMinus
 numbers of true B-jets with true charge -
 
int _bJet_trueMinus2
 numbers of true B-jets with true charge –
 
int _bJet_truePlus2_recoPlus
 numbers of true B-jets with true charge ++; reconstructed vertex charge >0
 
int _bJet_truePlus2_recoNeut
 numbers of true B-jets with true charge ++; reconstructed vertex charge =0
 
int _bJet_truePlus2_recoMinus
 numbers of true B-jets with true charge ++; reconstructed vertex charge <0
 
int _bJet_truePlus_recoPlus
 numbers of true B-jets with true charge +; reconstructed vertex charge >0
 
int _bJet_truePlus_recoNeut
 numbers of true B-jets with true charge +; reconstructed vertex charge =0
 
int _bJet_truePlus_recoMinus
 numbers of true B-jets with true charge +; reconstructed vertex charge <0
 
int _bJet_trueNeut_recoPlus
 numbers of true B-jets with true charge 0; reconstructed vertex charge >0
 
int _bJet_trueNeut_recoNeut
 numbers of true B-jets with true charge 0; reconstructed vertex charge =0
 
int _bJet_trueNeut_recoMinus
 numbers of true B-jets with true charge 0; reconstructed vertex charge <0
 
int _bJet_trueMinus_recoPlus
 numbers of true B-jets with true charge -; reconstructed vertex charge >0
 
int _bJet_trueMinus_recoNeut
 numbers of true B-jets with true charge -; reconstructed vertex charge =0
 
int _bJet_trueMinus_recoMinus
 numbers of true B-jets with true charge -; reconstructed vertex charge <0
 
int _bJet_trueMinus2_recoPlus
 numbers of true B-jets with true charge –; reconstructed vertex charge >0
 
int _bJet_trueMinus2_recoNeut
 numbers of true B-jets with true charge –; reconstructed vertex charge =0
 
int _bJet_trueMinus2_recoMinus
 numbers of true B-jets with true charge –; reconstructed vertex charge <0
 
std::vector< unsigned int > _cJet_truePlus2_angle
 Vector of numbers of true C-jets with true charge ++ See above for details.
 
std::vector< unsigned int > _cJet_truePlus_angle
 
std::vector< unsigned int > _cJet_trueNeut_angle
 
std::vector< unsigned int > _cJet_trueMinus_angle
 
std::vector< unsigned int > _cJet_trueMinus2_angle
 
std::vector< unsigned int > _cJet_truePlus2_recoPlus_angle
 
std::vector< unsigned int > _cJet_truePlus2_recoNeut_angle
 
std::vector< unsigned int > _cJet_truePlus2_recoMinus_angle
 
std::vector< unsigned int > _cJet_truePlus_recoPlus_angle
 
std::vector< unsigned int > _cJet_truePlus_recoNeut_angle
 
std::vector< unsigned int > _cJet_truePlus_recoMinus_angle
 
std::vector< unsigned int > _cJet_trueNeut_recoPlus_angle
 
std::vector< unsigned int > _cJet_trueNeut_recoNeut_angle
 
std::vector< unsigned int > _cJet_trueNeut_recoMinus_angle
 
std::vector< unsigned int > _cJet_trueMinus_recoPlus_angle
 
std::vector< unsigned int > _cJet_trueMinus_recoNeut_angle
 
std::vector< unsigned int > _cJet_trueMinus_recoMinus_angle
 
std::vector< unsigned int > _cJet_trueMinus2_recoPlus_angle
 
std::vector< unsigned int > _cJet_trueMinus2_recoNeut_angle
 
std::vector< unsigned int > _cJet_trueMinus2_recoMinus_angle
 
std::vector< unsigned int > _bJet_truePlus2_angle
 
std::vector< unsigned int > _bJet_truePlus_angle
 
std::vector< unsigned int > _bJet_trueNeut_angle
 
std::vector< unsigned int > _bJet_trueMinus_angle
 
std::vector< unsigned int > _bJet_trueMinus2_angle
 
std::vector< unsigned int > _bJet_truePlus2_recoPlus_angle
 
std::vector< unsigned int > _bJet_truePlus2_recoNeut_angle
 
std::vector< unsigned int > _bJet_truePlus2_recoMinus_angle
 
std::vector< unsigned int > _bJet_truePlus_recoPlus_angle
 
std::vector< unsigned int > _bJet_truePlus_recoNeut_angle
 
std::vector< unsigned int > _bJet_truePlus_recoMinus_angle
 
std::vector< unsigned int > _bJet_trueNeut_recoPlus_angle
 
std::vector< unsigned int > _bJet_trueNeut_recoNeut_angle
 
std::vector< unsigned int > _bJet_trueNeut_recoMinus_angle
 
std::vector< unsigned int > _bJet_trueMinus_recoPlus_angle
 
std::vector< unsigned int > _bJet_trueMinus_recoNeut_angle
 
std::vector< unsigned int > _bJet_trueMinus_recoMinus_angle
 
std::vector< unsigned int > _bJet_trueMinus2_recoPlus_angle
 
std::vector< unsigned int > _bJet_trueMinus2_recoNeut_angle
 
std::vector< unsigned int > _bJet_trueMinus2_recoMinus_angle
 
int _nb_twoVertex_bTrack_Primary
 Numbers for purity if reconstructed track-vertex association.
 
int _nb_twoVertex_bTrack_Secondary
 
int _nb_twoVertex_bTrack_Tertiary
 
int _nb_twoVertex_bTrack_Isolated
 
int _nb_twoVertex_cTrack_Primary
 
int _nb_twoVertex_cTrack_Secondary
 
int _nb_twoVertex_cTrack_Tertiary
 
int _nb_twoVertex_cTrack_Isolated
 
int _nb_twoVertex_lTrack_Primary
 
int _nb_twoVertex_lTrack_Secondary
 
int _nb_twoVertex_lTrack_Tertiary
 
int _nb_twoVertex_lTrack_Isolated
 
int _nb_threeVertex_bTrack_Primary
 
int _nb_threeVertex_bTrack_Secondary
 
int _nb_threeVertex_bTrack_Tertiary
 
int _nb_threeVertex_bTrack_Isolated
 
int _nb_threeVertex_cTrack_Primary
 
int _nb_threeVertex_cTrack_Secondary
 
int _nb_threeVertex_cTrack_Tertiary
 
int _nb_threeVertex_cTrack_Isolated
 
int _nb_threeVertex_lTrack_Primary
 
int _nb_threeVertex_lTrack_Secondary
 
int _nb_threeVertex_lTrack_Tertiary
 
int _nb_threeVertex_lTrack_Isolated
 
int _nb_threeVertex_Primary_noMCP
 
int _nb_threeVertex_Secondary_noMCP
 
int _nb_threeVertex_Tertiary_noMCP
 
int _nb_threeVertex_Isolated_noMCP
 
int _nb_twoVertex_Primary_noMCP
 
int _nb_twoVertex_Secondary_noMCP
 
int _nb_twoVertex_Tertiary_noMCP
 
int _nb_twoVertex_Isolated_noMCP
 
int _nc_twoVertex_bTrack_Primary
 
int _nc_twoVertex_bTrack_Secondary
 
int _nc_twoVertex_bTrack_Tertiary
 
int _nc_twoVertex_bTrack_Isolated
 
int _nc_twoVertex_cTrack_Primary
 
int _nc_twoVertex_cTrack_Secondary
 
int _nc_twoVertex_cTrack_Tertiary
 
int _nc_twoVertex_cTrack_Isolated
 
int _nc_twoVertex_lTrack_Primary
 
int _nc_twoVertex_lTrack_Secondary
 
int _nc_twoVertex_lTrack_Tertiary
 
int _nc_twoVertex_lTrack_Isolated
 
int _nc_threeVertex_bTrack_Primary
 
int _nc_threeVertex_bTrack_Secondary
 
int _nc_threeVertex_bTrack_Tertiary
 
int _nc_threeVertex_bTrack_Isolated
 
int _nc_threeVertex_cTrack_Primary
 
int _nc_threeVertex_cTrack_Secondary
 
int _nc_threeVertex_cTrack_Tertiary
 
int _nc_threeVertex_cTrack_Isolated
 
int _nc_threeVertex_lTrack_Primary
 
int _nc_threeVertex_lTrack_Secondary
 
int _nc_threeVertex_lTrack_Tertiary
 
int _nc_threeVertex_lTrack_Isolated
 
int _nc_threeVertex_Primary_noMCP
 
int _nc_threeVertex_Secondary_noMCP
 
int _nc_threeVertex_Tertiary_noMCP
 
int _nc_threeVertex_Isolated_noMCP
 
int _nc_twoVertex_Primary_noMCP
 
int _nc_twoVertex_Secondary_noMCP
 
int _nc_twoVertex_Tertiary_noMCP
 
int _nc_twoVertex_Isolated_noMCP
 

Static Protected Attributes

static const unsigned int N_VERTEX_CATEGORIES =3
 number of different vertex categories we want to look at: 1 vertex, 2 vertices, >=3 vertices
 
static const int B_JET =5
 
static const int C_JET =4
 
static const int N_JETANGLE_BINS =10
 number of bins used in vertex charge leakage plots
 

Detailed Description

LCFIAIDAPlotProcessor Class - make plots of the LCFI flavour tag and vertex charge code.

Please note that LCFIAIDAPlotProcessor will not compile with RAIDA v01-03 To use LCFIAIDAPlotProcessor please use AIDAJNI for the implementation of AIDA run "cmake -DBUILD_WITH="ROOT;AIDAJNI" -DAIDAJNI_HOME=${AIDAJNI_HOME}"

This sorry states of affairs comes about becayse not all AIDA functions are defined in RAIDA v01-03

In order to make a histogram file, LCFIAIDAPlotProcessor must be run with AIDAProcessor.

LCFIAIDAPlotProcessor reads in one (or more) FlavourTagCollections, e.g. from FlavourTag and one (or more) TagInputCollections. Histograms/plots are made of the neural net outputs, the purity and leakage rate of the flavour tag. These are split into sub-samples based on the number of vertices found in the jets. Plots are also made of the inputs to the FlavourTagCollections - split into sub-samples based on the true (MC) flavour of the jet.

Options are given to make a tuple of the flavour tag inputs and to print out a text file of the different flavour tag neural net outputs.

(When providing more than one FlavourTagCollection and/or TagInputCollection plots for each collection will be made in different directories.)

In addition LCFIAIDAPlotProcessor also requires a jet collection, and the following collections, which should refer to the same jet collection.

BVertexChargeCollection – calculated in VertexChargeProcessor
CVertexChargeCollection – calculated in VertexChargeProcessor
TrueJetFlavourCollection – calculated in TrueAngularJetFlavourProcessor

Input

The following collections must be available:

Parameters
FlavourTagCollectionsStringVec of LCFloatVec names representing the flavour tag inputs collections - may be more than one collection.
TagInputsCollectionsStringVec of LCFloatVec names the flavour tag input collections - may be more than one collection.
JetCollectionNameName of ReconstructedParticleCollection representing the jets.
VertexCollectionNameName of VertexCollection representing the Vertex collection of the jets.
BVertexChargeCollectionName of LCFloatVector of the vertex charge of the jet collection, assuming the jets are b-jets (calculated in VertexChargeProcessor)
CVertexChargeCollectionName of LCFloatVector of the vertex charge of the jet collection, assuming the jets are c-jets (calculated in VertexChargeProcessor)
TrueJetFlavourCollectionName of LCFloatVector of the true (MC) flavour of the jets (calculated in TrueAngularJetFlavourProcessor)
VertexCollectionNameName of VertexCollection representing the vertices.
BTagNNCutDouble reprsenting the lower cut on the b-tag NN value for some of the plots.
CTagNNCutDouble reprsenting the lower cut on the c-tag NN value for some of the plots.
CosThetaJetMaxDouble representing upper cut on cos(theta) of the jets for the plots.
CosThetaJetMinDouble representing lower cut on cos(theta) of the jets for the plots.
PJetMaxDouble representing upper cut on momentum of the jet for the plots.
PJetMinDouble representing lower cut on momentum of the jet for the plots.
MakeTupleBool set true if you want to make a tuple of the TagInputCollection variables.
NeuralNetOutputFileString representing name of text file of neural net values to. Only used if PrintNeuralNetOutput parameter is true. If left blank, output will be directed to standard out
PrintNeuralNetOutputBool set true if you want to make a text file of the neural net values (useful for some scripts).
UseFlavourTagCollectionForVertexChargeFor vertex charge plots we demand the cTag>CTagNNCut and bTag>BTagNNCut. This integer is used if there is more than one tag collection, to determine which of the collections should be used to apply this cut.

Output

Author
Victoria Martin (victo.nosp@m.ria..nosp@m.marti.nosp@m.n@ed.nosp@m..ac.u.nosp@m.k)

Definition at line 91 of file LCFIAIDAPlotProcessor.h.

Member Data Documentation

std::vector< std::map<std::string,AIDA::IHistogram1D*> > LCFIAIDAPlotProcessor::_pBJetBTagIntegral
protected

Histograms of the neural net tags - number of events that pass a given cut: jet NN value > given NN value for the three tags - B-tag, C-tag, BC-tag.

  • separately for true B jets, true C jets & true light jets and different number of vertices in the jets, 1, 2 or >=3 & any (sum of previous three) See comments above

Definition at line 236 of file LCFIAIDAPlotProcessor.h.


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