Program Listing for File PhotonContainer.h¶
↰ Return to documentation for file (xAODAnaHelpers/PhotonContainer.h
)
#ifndef xAODAnaHelpers_PhotonContainer_H
#define xAODAnaHelpers_PhotonContainer_H
#include <TTree.h>
#include <TLorentzVector.h>
#include <vector>
#include <string>
#include "xAODEgamma/PhotonContainer.h"
#include <xAODAnaHelpers/HelperClasses.h>
#include <xAODAnaHelpers/Photon.h>
#include <xAODAnaHelpers/ParticleContainer.h>
typedef SG::AuxElement::Accessor< std::vector< float > > floatAccessor ;
namespace xAH {
class PhotonContainer : public ParticleContainer<Photon,HelperClasses::PhotonInfoSwitch>
{
public:
PhotonContainer(const std::string& name = "ph", const std::string& detailStr="", float units = 1e3, bool mc = false);
virtual ~PhotonContainer();
virtual void setTree(TTree *tree);
virtual void setBranches(TTree *tree);
virtual void clear();
virtual void FillPhoton( const xAOD::Photon* photon );
virtual void FillPhoton( const xAOD::IParticle* particle );
using ParticleContainer::setTree; // make other overloaded version of execute() to show up in subclass
protected:
virtual void updateParticle(uint idx, Photon& photon);
private:
// isolation
std::vector<int>* m_isIsolated_Cone40CaloOnly;
std::vector<int>* m_isIsolated_Cone40;
std::vector<int>* m_isIsolated_Cone20;
//std::vector<float>* m_etcone20;
std::vector<float>* m_ptcone20;
std::vector<float>* m_ptcone30;
std::vector<float>* m_ptcone40;
std::vector<float>* m_ptvarcone20;
std::vector<float>* m_ptvarcone30;
std::vector<float>* m_ptvarcone40;
std::vector<float>* m_topoetcone20;
std::vector<float>* m_topoetcone30;
std::vector<float>* m_topoetcone40;
// PID
int m_n_IsLoose;
std::vector<int>* m_IsLoose;
int m_n_IsMedium;
std::vector<int>* m_IsMedium;
int m_n_IsTight;
std::vector<int>* m_IsTight;
//Purity
std::vector<float>* m_radhad1;
std::vector<float>* m_radhad;
std::vector<float>* m_e277;
std::vector<float>* m_reta;
std::vector<float>* m_rphi;
std::vector<float>* m_weta2;
std::vector<float>* m_f1;
std::vector<float>* m_wtot;
//std::vector<float>* m_w1;
std::vector<float>* m_deltae;
std::vector<float>* m_eratio;
// effSF
std::vector<float> *m_LooseEffSF;
std::vector<float> *m_MediumEffSF;
std::vector<float> *m_TightEffSF;
std::vector<float> *m_LooseEffSF_Error;
std::vector<float> *m_MediumEffSF_Error;
std::vector<float> *m_TightEffSF_Error;
// trigger
std::vector<std::vector<std::string> > *m_trigMatched;
};
}
#endif // xAODAnaHelpers_PhotonContainer_H