• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/Users/jmonk/Physics/ForIA/ForIA/D3PD/D3PDConverter.hh

Go to the documentation of this file.
00001 #ifndef FORIA_D3PDCONVERTER_HH
00002 #define FORIA_D3PDCONVERTER_HH
00003 
00004 #include "ForIA/Event.hh"
00005 #include "ForIA/Track.hh"
00006 #include "ForIA/DataConverter.hh"
00007 #include "ForIA/Cluster.hh"
00008 #include "ForIA/EtMiss.hh"
00009 #include "ForIA/Jet.hh"
00010 #include "ForIA/TruthJet.hh"
00011 #include "ForIA/DetectorErrors.hh"
00012 
00013 #include "ForIA/D3PD/GoodRunsListsWrapper.hh"
00014 
00015 #include "ForIA/D3PDTree/ClusterTree.hh"
00016 #include "ForIA/D3PDTree/DBKeysTree.hh"
00017 #include "ForIA/D3PDTree/DetectorErrorsTree.hh"
00018 #include "ForIA/D3PDTree/EventTree.hh"
00019 #include "ForIA/D3PDTree/JetTree.hh"
00020 #include "ForIA/D3PDTree/L1TriggerTree.hh"
00021 #include "ForIA/D3PDTree/L2SpacePointsTree.hh"
00022 #include "ForIA/D3PDTree/TrackTree.hh"
00023 #include "ForIA/D3PDTree/TrackVertexAssociationTree.hh"
00024 #include "ForIA/D3PDTree/TrigConfTree.hh"
00025 #include "ForIA/D3PDTree/TrigDecisionTree.hh"
00026 #include "ForIA/D3PDTree/TruthTree.hh"
00027 #include "ForIA/D3PDTree/TruthEnergyTree.hh"
00028 #include "ForIA/D3PDTree/TruthMassTree.hh"
00029 #include "ForIA/D3PDTree/TruthJetTree.hh"
00030 #include "ForIA/D3PDTree/TruthVertexTree.hh"
00031 #include "ForIA/D3PDTree/VertexTree.hh"
00032 
00033 #include "ForIA/D3PDTree/MetTree.hh"
00034 
00035 #include <string>
00036 #include <vector>
00037 
00038 namespace D3PDTree{
00039   class TreeFactory;
00040 }
00041 
00042 namespace ForIA{
00043  
00044   using std::string;
00045   using std::string;
00046     
00047   class JetKey;
00048   
00049   class D3PDConverter : public DataConverter{
00050     
00051   public:
00052     
00053     D3PDConverter(const string &txtFile);
00054 
00055     D3PDConverter(const string &txtFile, const string &goodRunList);
00056     
00057     ~D3PDConverter();
00058     
00059     void initialise();
00060     bool nextEvent();
00061     void storeEvent();
00062     
00063     const Event &loadEvent();
00064     const TrackVector &loadTracks(const Event *evt);
00065     const ClusterVector &loadClusters();
00066     const JetVector &loadJets(const JetKey &jetKey, const Event *evt);
00067     const TruthJetVector &loadTruthJets();
00068     const TriggerConfiguration &loadTriggerConfiguration();
00069     TriggerDecisionPtr loadTriggerDecision();
00070     const TruthParticleVector &loadTruthParticles();
00071     const VertexVector &loadTruthVertices();
00072     const VertexVector &loadVertices(const Event *evt=0);
00073     L1TriggerBitPtr loadL1Trigger();
00074     L2SpacePointsConstPtr loadL2SpacePoints();
00075 
00076     DetectorErrorsConstPtr loadDetectorErrors();
00077     
00078     EtMissPtr loadEtMiss();
00079     
00080   private:
00081     
00082     D3PDTree::TreeFactory *m_treeFactory;
00083 
00084     D3PDTree::ClusterTreePtr                m_clusterTree;
00085     D3PDTree::DBKeysTreePtr                 m_dbKeysTree;
00086     D3PDTree::DetectorErrorsTreePtr         m_detectorErrorsTree;
00087     D3PDTree::EventTreePtr                  m_eventTree;
00088     D3PDTree::L1TriggerTreePtr              m_l1TriggerTree;
00089     D3PDTree::L2SpacePointsTreePtr          m_l2SpacePointsTree;
00090     D3PDTree::TrackTreePtr                  m_trackTree;
00091     D3PDTree::TrackVertexAssociationTreePtr m_trackVtxTree;
00092     D3PDTree::TrigConfTreePtr               m_trigConfTree;
00093     D3PDTree::TrigDecisionTreePtr           m_trigDecisionTree;
00094     D3PDTree::TruthTreePtr                  m_truthTree;
00095     D3PDTree::TruthEnergyTreePtr            m_truthEnergyTree;
00096     D3PDTree::TruthMassTreePtr              m_truthMassTree;
00097     D3PDTree::TruthJetTreePtr               m_truthJetTree;
00098     D3PDTree::TruthVertexTreePtr            m_truthVertexTree;
00099     D3PDTree::VertexTreePtr                 m_vertexTree;
00100 
00101     D3PDTree::MetTreePtr                    m_etmissTree;
00102 
00103     vector<D3PDTree::JetTreePtr>            m_jetTrees;
00104     
00105     boost::unordered_map<JetKey, D3PDTree::JetTreePtr> m_usedJetTrees;
00106     
00107     string m_txtFile;
00108 
00109     vector<string> m_rootFiles;
00110     
00111     long m_currentEntries;
00112     long m_currentEntry;
00113                 
00114     Event                m_event;
00115     TrackVector          m_tracks;
00116     ClusterVector        m_clusters;
00117     TruthJetVector       m_truthJets;
00118     TriggerConfiguration m_trigConfiguration;
00119     TruthParticleVector  m_truthParticles;
00120     VertexVector         m_truthVertices;
00121     VertexVector         m_vertices;
00122 
00123     boost::unordered_map<JetKey, JetVector>  m_jets;
00124 
00125     GoodRunsListsWrapper m_goodRunsList;
00126 
00127     
00128     
00129   };
00130 }
00131 #endif

Generated on Mon Jul 30 2012 16:56:35 for ForIA by  doxygen 1.7.2