#ifndef SIMPLENTUPLE_HH #define SIMPLENTUPLE_HH //-------------------------------------------------------------------------- // Description: // ------------ // // Class SimpleNtuple : ROOT ntuples made easy(?) // //-------------------------------------------------------------------------- //--------------- // C++ Headers -- //--------------- #include #include #include #include #include "TObjArray.h" #include "TH1.h" #include "TH2.h" #include "TProfile.h" #include "TTree.h" #include #include "RootMods/RootHistModule.hh" #include "ElectronObjects/CdfEmObject.hh" #include "ElectronObjects/CdfEmObjectColl.hh" #include "TrackingObjects/Storable/CdfTrackView.hh" #include "HighLevelObjects/ElectronVariables.hh" //---------------------- // Base Class Headers -- //---------------------- #include "Framework/APPModule.hh" #include "Framework/AbsParmGeneral.hh" #ifndef USE_CDFEDM2 class TRY_Abstract_Record; #endif /////////////////////////////////////////////// class SimpleNtuple : public AppModule { public: class Command : public APPCommand { public: // Constructors: Command(); virtual ~Command(); Command(const char* cmd, AppModule* module); virtual void show () const; virtual bool isShowable () const; virtual string description () const; }; TTree* SimpleNtupleTree; TNtuple *ntuple; TFile *hfile; SimpleNtuple(const char* const theName = "SimpleNtuple", const char* const theDescription = "A simple module to create ROOT ntuples"); private: AbsParmGeneral SimpleNtuplefile ; // to allow setting filename in tcl file int numEventObjs; int numHepgObjs; int numVertexObjs; int numEmObjs; int numMetObjs; int numPes2dObjs; int numPesObjs; int numJetObjs; int runNumber[10]; int eventNumber[10]; double hepgElectronEta[100]; double hepgElectronPhi[100]; double hepgElectronEt[100]; double hepgElectronPx[100]; double hepgElectronPy[100]; double hepgElectronPz[100]; double hepgElectronE[100]; double hepgElectronVx[100]; double hepgElectronVy[100]; double hepgElectronVz[100]; double hepgElectronVt[100]; double vertexPrimX[100]; double vertexPrimY[100]; double vertexPrimZ[100]; double seedEnergy[100]; double seedEt[100]; int region[100]; int side[100]; double etaDetector[100]; double etaEvent[100]; double etaRMS[100]; double phi[100]; double phiRMS[100]; double emCalEx[100]; double emCalEy[100]; double emCalEz[100]; double pemPesMatch[100]; double pemPesDeta[100]; double pemPesDphi[100]; double zVertex[100]; double zCentroid[100]; double emEnergy[100]; double emEt[100]; //double correctedEt[100]; double hadEnergy[100]; double hadEt[100]; double totalEnergy[100]; double totalEt[100]; double hadEm[100]; double totalIso4[100]; double totalIso7[100]; double emIso4[100]; double emIso7[100]; double hadIso4[100]; double hadIso7[100]; double lshr2[100]; double lshr[100]; double trackPt[100]; double charge[100]; double eOverP[100]; double xCes[100]; double chiW[100]; double deltaX[100]; double zCes[100]; double chiS[100]; double deltaZ[100]; int numPes2dClusters[1000]; double pesEmObjEta[1000]; double pesEmObjPhi[1000]; double pesTestEmObjMatching[1000]; double pesEmObjWidth[1000]; double trackIso[1000]; double nTowers[100]; double nTracks[100]; int pem3x3FitTowers[100]; double pem3x3FitDetEta[100]; double pem3x3FitPhi[100]; double pem3x3EmEnergy[100]; double pem3x3Chisq[100]; double met[100]; double metPhi[100]; double metZV[100]; double metESum[100]; double metEtSum[100]; double metExSum[100]; double metEySum[100]; double pes2dWidth[1000]; double pes2dEnergy[1000]; double pes2dX[1000]; double pes2dY[1000]; double pes2dZ[1000]; double pes2dGlblEta[1000]; double pes2dGlblPhi[1000]; double pes2dUEnergy[1000]; double pes2dVEnergy[1000]; int pes2dNumUStrips[1000]; int pes2dNumVStrips[1000]; double pesWidthStrips[1000]; double pesEnergy[1000]; int pesSide[1000]; int pesView[1000]; int pesOctant[1000]; double pesCentroidStrip[1000]; int pesNumStrips[1000]; int pesLastStrip[1000]; int pesSeedStrip[1000]; double pesCentroidCM[1000]; double pesWidthCM[1000]; double pesClusterZ[1000]; double jetEtaDetector[100]; double jetGuardEnergy[100]; double jetEmFraction[100]; double jetCentroidEta[100]; double jetCentroidPhi[100]; double jetEtaMoment[100]; double jetPhiMoment[100]; double jetEtaPhiMoment[100]; double jetPx[100]; double jetPy[100]; double jetPz[100]; double jetTotEnergy[100]; double jetCentroidEt[100]; double jetTotP[100]; double jetTotPt[100]; double jetPt[100]; double jetPtSquared[100]; double jetTotEt[100]; double jetEt[100]; double jetEta[100]; double jetTheta[100]; double jetPhi[100]; double jetMassSquared[100]; double jetMass[100]; double jetRapidity[100]; // Destructor ~SimpleNtuple(); // Operations AppResult beginJob( AbsEvent* ); AppResult beginRun( AbsEvent* ); AppResult event ( AbsEvent* ); AppResult endRun ( AbsEvent* ); AppResult endJob ( AbsEvent* ); AppResult abortJob( AbsEvent* ); AppResult abortRun( AbsEvent* ); }; #endif // // end //