AAN_Atlfast.h

Go to the documentation of this file.
00001 #ifndef AAN_ATLFAST_H
00002 #define AAN_ATLFAST_H
00003 
00004 #include "CBNT_Utils/CBNT_AthenaAwareBase.h"
00005 #include "AtlfastUtils/TesIO.h"
00006 
00007 namespace Atlfast{
00008   
00015   class AAN_Atlfast : public CBNT_AthenaAwareBase {
00016   public:
00018     AAN_Atlfast(const std::string &name, ISvcLocator *pSvcLocator);
00019 
00021     virtual StatusCode CBNT_initializeBeforeEventLoop();
00022 
00025     virtual StatusCode CBNT_initialize();
00026     
00030     virtual StatusCode CBNT_execute();
00031     
00033     virtual StatusCode CBNT_finalize();
00034 
00035 
00038     virtual StatusCode CBNT_clear();
00039 
00040   private:
00041     
00043     std::string m_NtupleLocID;
00044     
00046     std::pair<int, int> getParentCodes(MCparticleCollection::const_iterator&);
00047     
00049     TesIO* m_tesIO;
00050     
00051     // member variables pointing to collection in the TES
00052     std::string m_jetLocation;              
00053     std::string m_jetCLocation;             
00054     std::string m_electronLocation;         
00055     std::string m_electronCLocation;        
00056     std::string m_isolatedMuonLocation;     
00057     std::string m_nonIsolatedMuonLocation;  
00058     std::string m_muonCLocation;            
00059     std::string m_photonLocation;           
00060     std::string m_photonCLocation;          
00061     std::string m_trackLocation;            
00062     std::string m_mcTruthLocation;          
00063     std::string m_eventHeaderLocation;      
00064                                             
00065     // Flags for deciding which collections to fill ntuple from
00066 
00067     bool m_fillIsolatedElectrons;           
00068     bool m_fillAtlfastCElectrons;           
00069     bool m_fillIsolatedPhotons;             
00070     bool m_fillAtlfastCPhotons;             
00071     bool m_fillIsolatedMuons;               
00072     bool m_fillNonIsolatedMuons;            
00073     bool m_fillAtlfastCMuons;               
00074     bool m_fillJets;                        
00075     bool m_fillJetsC;                       
00076     bool m_fillHistory;                     
00077     bool m_fillEventData;                   
00078     
00080     std::string m_mcLocation;
00081     
00083     // Electrons
00084     long                 m_nele;            
00085     std::vector<long>   *m_codeele;         
00086     std::vector<float>  *m_pxele;           
00087     std::vector<float>  *m_pyele;           
00088     std::vector<float>  *m_pzele;           
00089     std::vector<float>  *m_eeele;           
00090 
00091     // AtlfastC Electrons
00092     long                 m_neleAFC;         
00093     std::vector<long>   *m_codeeleAFC;      
00094     std::vector<float>  *m_pxeleAFC;        
00095     std::vector<float>  *m_pyeleAFC;        
00096     std::vector<float>  *m_pzeleAFC;        
00097     std::vector<float>  *m_eeeleAFC;        
00098 
00099     // Photons 
00100     long                 m_npho;            
00101     std::vector<long>   *m_codepho;         
00102     std::vector<float>  *m_pxpho;           
00103     std::vector<float>  *m_pypho;           
00104     std::vector<float>  *m_pzpho;           
00105     std::vector<float>  *m_eepho;           
00106 
00107     // AtlfastC Photons 
00108     long                 m_nphoAFC;         
00109     std::vector<long>   *m_codephoAFC;      
00110     std::vector<float>  *m_pxphoAFC;        
00111     std::vector<float>  *m_pyphoAFC;        
00112     std::vector<float>  *m_pzphoAFC;        
00113     std::vector<float>  *m_eephoAFC;        
00114 
00115     // Muons (isolated) 
00116     long                 m_nmuo;            
00117     std::vector<long>   *m_codemuo;         
00118     std::vector<float>  *m_pxmuo;           
00119     std::vector<float>  *m_pymuo;           
00120     std::vector<float>  *m_pzmuo;           
00121     std::vector<float>  *m_eemuo;           
00122 
00123     // Muons (non-isolated) 
00124     long                 m_nmux;            
00125     std::vector<long>   *m_codemux;         
00126     std::vector<float>  *m_pxmux;           
00127     std::vector<float>  *m_pymux;           
00128     std::vector<float>  *m_pzmux;           
00129     std::vector<float>  *m_eemux;           
00130 
00131     // AtlfastC Muons 
00132     long                 m_nmuoAFC;         
00133     std::vector<long>   *m_codemuoAFC;      
00134     std::vector<float>  *m_pxmuoAFC;        
00135     std::vector<float>  *m_pymuoAFC;        
00136     std::vector<float>  *m_pzmuoAFC;        
00137     std::vector<float>  *m_eemuoAFC;        
00138 
00139     // Jets 
00140     long                 m_njet;            
00141     std::vector<long>   *m_jetlabel;        
00142     std::vector<float>  *m_bjetdR;          
00143     std::vector<float>  *m_cjetdR;          
00144     std::vector<float>  *m_taujetdR;        
00145     std::vector<float>  *m_pxjet;           
00146     std::vector<float>  *m_pyjet;           
00147     std::vector<float>  *m_pzjet;           
00148     std::vector<float>  *m_eejet;           
00149     std::vector<float>  *m_ptcalo;          
00150     std::vector<float>  *m_ucorr;           
00151     std::vector<float>  *m_btag;            
00152     std::vector<float>  *m_bcorr;           
00153     std::vector<float>  *m_tautag;          
00154     std::vector<float>  *m_taucorr;         
00155     std::vector<float>  *m_tau1ptag;        
00156     std::vector<float>  *m_tau3ptag;        
00157     std::vector<float>  *m_tau1p3pcorr;     
00158 
00159     // AtlfastC Jets 
00160     long                 m_njetAFC;         
00161     std::vector<long>   *m_jetlabelAFC;     
00162     std::vector<float>  *m_bjetdRAFC;       
00163     std::vector<float>  *m_cjetdRAFC;       
00164     std::vector<float>  *m_taujetdRAFC;     
00165     std::vector<float>  *m_pxjetAFC;        
00166     std::vector<float>  *m_pyjetAFC;        
00167     std::vector<float>  *m_pzjetAFC;        
00168     std::vector<float>  *m_eejetAFC;        
00169     std::vector<float>  *m_ptcaloAFC;       
00170     std::vector<float>  *m_ucorrAFC;        
00171     std::vector<float>  *m_btagAFC;         
00172     std::vector<float>  *m_bcorrAFC;        
00173     std::vector<float>  *m_tautagAFC;       
00174     std::vector<float>  *m_taucorrAFC;      
00175     std::vector<float>  *m_tau1ptagAFC;     
00176     std::vector<float>  *m_tau3ptagAFC;     
00177     std::vector<float>  *m_tau1p3pcorrAFC;  
00178 
00179     // Truth Particles 
00180     long                 m_npart;           
00181     std::vector<long>   *m_kppart;          
00182     std::vector<long>   *m_kspart;          
00183     std::vector<long>   *m_kfpart;          
00184     std::vector<long>   *m_kpmoth;          
00185     std::vector<long>   *m_kfmoth;          
00186     std::vector<float>  *m_pxpart;          
00187     std::vector<float>  *m_pypart;          
00188     std::vector<float>  *m_pzpart;          
00189     std::vector<float>  *m_eepart;          
00190 
00191     // Event Info 
00192     long                m_isub;             
00193     long                m_njetb;            
00194     long                m_njetc;            
00195     long                m_njettau;          
00196     float               m_pxmiss;           
00197     float               m_pymiss;           
00198     float               m_pxnue;            
00199     float               m_pynue;            
00200     float               m_sumET;            
00201     float               m_mcWeight0;        
00202     float               m_mcWeight1;        
00203     float               m_mcWeight2;        
00204   };
00205 }
00206 #endif // AAN_ATLFAST_H
00207 
00208 

Generated on Mon Sep 24 14:19:09 2007 for AtlfastAlgs by  doxygen 1.5.1