Attachment 'KIT.h'

Download

   1 #ifndef KITdev_h
   2 #define KITdev_h 1
   3 
   4 #include "marlin/Processor.h"
   5 #include "lcio.h"
   6 #include <string>
   7 #include <stdio.h>
   8 #include <vector>
   9 #include <map>
  10 #include <set>
  11 #include <stack>
  12 #include <sstream>
  13 #include <bitset>
  14 #include <queue>
  15 #include <utility>
  16 #include <algorithm>
  17 #include <EVENT/LCCollection.h>
  18 #include <EVENT/MCParticle.h>
  19 #include <EVENT/ReconstructedParticle.h>
  20 #include <EVENT/Cluster.h>
  21 #include <IMPL/MCParticleImpl.h>
  22 #include <IMPL/ClusterImpl.h>
  23 #include <IMPL/LCCollectionVec.h>
  24 #include <EVENT/SimCalorimeterHit.h>
  25 #include <EVENT/CalorimeterHit.h>
  26 #include <UTIL/LCTOOLS.h>
  27 #include <UTIL/CellIDDecoder.h>
  28 #include <UTIL/LCRelationNavigator.h>
  29 #include <LCRTRelations.h>
  30 #include <iomanip>
  31 #include "math.h"
  32 #include "KITutil_LDC00.h"
  33 #include "myPhys_Geom_Database.h" 
  34 #include "myMarlinMath.h"
  35 #include "ClusterShapes.h" 
  36 #include "DeepAnalysis.hh" 
  37 
  38 using namespace lcio ;
  39 using namespace marlin ;
  40 using namespace std;
  41 using namespace IMPL;
  42 using namespace EVENT;
  43 
  44 
  45 typedef struct {
  46 
  47   CalorimeterHit* ECALHit;
  48   std::vector<PROTSEED2*> relatedCores;
  49   std::vector<double> probabilitiesForThisECALHit;
  50   std::vector<double> distancesToCoresForThisECALHit;
  51   std::vector<double> estimatedEnergyPerCore;
  52 
  53 } ECALHitWithAttributes;
  54 
  55 // integer runtime extension which flags CalorimeterHits in EMShowers
  56 struct isPartOfEMShowerCandidate : LCIntExtension<isPartOfEMShowerCandidate> {};
  57 
  58 class KITdev : public Processor {
  59   
  60  public:
  61   
  62   virtual Processor*  newProcessor() { return new KITdev ; }
  63   
  64   
  65   KITdev() ;
  66   
  67   virtual void init() ;
  68   virtual void processRunHeader( LCRunHeader* run ) ;
  69   virtual void processEvent( LCEvent * evt ) ; 
  70   virtual void end();  
  71   
  72 
  73  protected:
  74  
  75   int split;
  76 
  77   int _options ;
  78   int _nRun ;
  79   int _nEvt ;
  80   int _nSkippedEvt ;
  81 
  82   int _debugLevel;
  83   int _desiredNCluster;
  84   int _Ntrcl; // number of true clusters
  85 
  86   unsigned int _N_hitsPerCluster;// number of hits per cluster
  87   unsigned int _N_core;          // N core rec
  88   unsigned int _N_reco;          // N gamma(e) reconstructed
  89   double _E_in;         //Energy from generator
  90   double _E_reco;       //reconstructed energy
  91   double _E_estimated;  //estimated total energy
  92 
  93   double _Esum_ecal; //energy sum in ECAL in GeV
  94   double _Esum_hcal; //energy sum in HCAL  in GeV
  95   double _Esum_calos; //energy sum in ECAL + HCAL in GeV
  96   double _Ehit_ecal; //energy per hit in ECAL in GeV
  97   double _Ehit_hcal; //energy per hit in HCAL in GeV
  98   double _Esum_ecal_mip; //energy sum in ECAL in MIP
  99   double _Ehit_ecal_mip; //energy per hit in ECAL in MIP
 100   double _Et_miss; //missing transvers energy sum in ECAL + HCAL in GeV
 101   double _Et_x;
 102   double _Et_y;
 103   unsigned int _NhitsEcal; //number of hits in ECAL
 104   unsigned int _NhitsHcal; //number of hits in HCAL
 105   unsigned int _NhitsCalos; //number of hits in ECAL + HCAL
 106 
 107   double _E_cluster; //energy in cluster
 108   double _xPos_cluster; //position of cluster
 109   double _yPos_cluster; //position of cluster
 110   double _zPos_cluster; //position of cluster
 111 
 112   double _xStart_cluster; //start of cluster
 113   double _yStart_cluster; //start of cluster
 114   double _zStart_cluster; //start of cluster
 115 
 116   double _E_ratio[10];    //reconstructed photon energy / true energy ?
 117 
 118   double _phiDegree;     //xy angle in degree
 119   double _thetaDegree;   //yz angle in degree
 120 
 121   double _dca;             //distance of closest approach IP - gamma
 122   double _trueGammaPos[3]; //true photon position
 123   double _trueGammaDir[3]; //true photon direction
 124   double _trueCog[3];      //true center of gravity
 125   double _trueDist;        //true distance of IP - secondary vertex
 126   double _trueEgamma;      //true photon energy from generator
 127   double _truePhi;         //true phi angle between photon and ECAL 
 128   double _trueTheta;       //true theta angle between photon and ECAL
 129 
 130   double _trueEneutralino; //true neutralino energy GeV
 131   double _trueNeutralinoDir[3]; //true neutralino direction
 132 
 133   int _nPhotons;
 134   std::string _Ecal_col;
 135   std::string _Hcal_col;
 136   std::string _CoreCollection;
 137 
 138   std::string _detectorModel;
 139   std::string _ToClean;
 140   int _CleanCut;
 141 
 142   int _Nlevels; //number of cluster levels 
 143   vector<float> _mipstep;
 144   vector<double> estimatedE;
 145 
 146   int _MinHit0;
 147   int _MinHitSplit;
 148   double _rCut;
 149   double _distCut; 
 150   double _cosCut;
 151   double _probabilityDensityCut;
 152   double _energyDeviationCut;
 153 } ;
 154 #endif
 155 

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2010-03-23 09:57:46, 33.4 KB) [[attachment:KIT.cc]]
  • [get | view] (2010-03-23 09:58:09, 4.3 KB) [[attachment:KIT.h]]
  • [get | view] (2010-03-23 10:20:16, 10.0 KB) [[attachment:KITcalibrator.cc]]
  • [get | view] (2010-03-23 12:53:20, 2.9 KB) [[attachment:KITcalibrator.h]]
  • [get | view] (2010-03-23 09:55:11, 66.1 KB) [[attachment:KITutil.cc]]
  • [get | view] (2010-03-23 09:55:36, 8.2 KB) [[attachment:KITutil.h]]
  • [get | view] (2010-03-23 09:53:52, 22.9 KB) [[attachment:PDGB.cc]]
  • [get | view] (2010-03-23 09:54:13, 8.2 KB) [[attachment:PDGB.h]]
  • [get | view] (2010-03-23 10:26:19, 3.2 KB) [[attachment:calibrateKIT.xml]]
  • [get | view] (2010-03-23 09:33:22, 3.9 KB) [[attachment:marlinKIT.xml]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.