CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/Alignment/OfflineValidation/interface/TkOffTreeVariables.h

Go to the documentation of this file.
00001 #ifndef Alignment_OfflineValidation_TkOffTreeVariables_h
00002 #define Alignment_OfflineValidation_TkOffTreeVariables_h
00003 
00004 #include <string>
00005 // For ROOT types with '_t':
00006 #include <Rtypes.h>
00007 
00009 struct TkOffTreeVariables
00010 {
00012   TkOffTreeVariables()  { this->clear();}
00013 
00015   void clear() {
00016     // First clear things that are changing if TTrees are merged:
00017     this->clearMergeAffectedPart();
00018 
00019     // Now the rest:
00020     // Float_t's
00021     posR = posPhi = posEta = posX = posY = posZ
00022       = rDirection = phiDirection = zDirection = rOrZDirection = 0.;
00023     // Int_t's
00024     moduleId = subDetId
00025       = layer = side = half = rod 
00026       = ring = petal 
00027       = blade = panel 
00028       = outerInner = module = 0;
00029     // Bool_t's
00030     isDoubleSide = isStereo = false;
00031     // std::string's
00032     histNameLocalX = histNameNormLocalX 
00033       = histNameLocalY /* = histNameNormLocalY */
00034       = histNameX = histNameNormX
00035       = histNameY = histNameNormY = "";
00036     profileNameResXvsX = profileNameResXvsY
00037       = profileNameResYvsX
00038       = profileNameResYvsY = "";
00039     
00040   }
00042   void clearMergeAffectedPart()
00043   {
00044     // variable Float_t's
00045     meanLocalX = meanNormLocalX = meanX = meanNormX = meanY = meanNormY
00046       = medianX = medianY
00047       = chi2PerDofX = chi2PerDofY
00048       = rmsLocalX = rmsNormLocalX = rmsX = rmsNormX = rmsY = rmsNormY
00049       = sigmaX = sigmaNormX
00050       = fitMeanX = fitSigmaX = fitMeanNormX = fitSigmaNormX  
00051       = fitMeanY = fitSigmaY = fitMeanNormY = fitSigmaNormY  
00052       = numberOfUnderflows = numberOfOverflows = numberOfOutliers = 0.;
00053 
00054     meanResXvsX = meanResXvsY = meanResYvsX = meanResYvsY
00055       = rmsResXvsX = rmsResXvsY = rmsResYvsX = rmsResYvsY = 0.;
00056    
00057     // variable Int_t's
00058     entries = 0;
00059   }
00060   
00061   
00063   // Data members:
00064   // They do not follow convention to have '_' at the end since they will appear 
00065   // as such in the TTree and that is ugly.
00067   
00068   Float_t meanLocalX, meanNormLocalX, 
00069     meanX, meanNormX,                            //mean value read out from module histograms
00070     meanY, meanNormY, 
00071     medianX, medianY,                            //median read out from module histograms
00072     chi2PerDofX, chi2PerDofY,
00073     rmsLocalX, rmsNormLocalX, rmsX, rmsNormX,    //rms value read out from modul histograms
00074     rmsY, rmsNormY,sigmaX,sigmaNormX,
00075     fitMeanX, fitSigmaX, fitMeanNormX, fitSigmaNormX,
00076     fitMeanY, fitSigmaY, fitMeanNormY, fitSigmaNormY,
00077     posR, posPhi, posEta,                        //global coordiantes    
00078     posX, posY, posZ,                            //global coordiantes 
00079     numberOfUnderflows, numberOfOverflows, numberOfOutliers,
00080     rDirection, phiDirection, zDirection, rOrZDirection;
00081   
00082   UInt_t entries; // number of entries for each module
00083   UInt_t moduleId, subDetId, //moduleId == detId
00084     layer, side, half, rod, // half = TPB: halfBarrel, TPE: halfCylinder, TIB: halfShell
00085     ring, petal, 
00086     blade, panel, 
00087     outerInner, module;  //orientation of modules in TIB:1/2= int/ext string, TID:1/2=back/front ring, TEC 1/2=back/front petal
00088   
00089   Bool_t isDoubleSide; // (!isDoubleSide) is a detUnit, (isDoubleSide) is a Det (glued Modules) 
00090   Bool_t isStereo; // (!isStereo) is a rPhi-module, (isStereo) is the stereo module from a Det
00091   
00092   std::string histNameLocalX, histNameNormLocalX,  histNameLocalY; /* histNameNormLocalY, */
00093   std::string histNameX, histNameNormX, histNameY, histNameNormY;    
00094 
00095   Float_t meanResXvsX, meanResXvsY, meanResYvsX, meanResYvsY;
00096   Float_t rmsResXvsX, rmsResXvsY, rmsResYvsX, rmsResYvsY;
00097   
00098   std::string profileNameResXvsX, profileNameResXvsY, profileNameResYvsX, profileNameResYvsY; 
00099   
00100 };
00101   
00102 #endif