CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/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   }
00038   void clearMergeAffectedPart()
00039   {
00040     // variable Float_t's
00041     meanLocalX = meanNormLocalX = meanX = meanNormX = meanY = meanNormY
00042        = medianX = medianY
00043       = chi2PerDofX = chi2PerDofY
00044       = rmsLocalX = rmsNormLocalX = rmsX = rmsNormX = rmsY = rmsNormY
00045       = sigmaX = sigmaNormX
00046       = fitMeanX = fitSigmaX = fitMeanNormX = fitSigmaNormX  
00047       = fitMeanY = fitSigmaY = fitMeanNormY = fitSigmaNormY  
00048       = numberOfUnderflows = numberOfOverflows = numberOfOutliers = 0.;
00049 
00050     // variable Int_t's
00051     entries = 0;
00052   }
00053 
00054 
00056   // Data members:
00057   // They do not follow convention to have '_' at the end since they will appear 
00058   // as such in the TTree and that is ugly.
00060   
00061   Float_t meanLocalX, meanNormLocalX, 
00062     meanX, meanNormX,                            //mean value read out from module histograms
00063     meanY, meanNormY, 
00064     medianX, medianY,                            //median read out from module histograms
00065     chi2PerDofX, chi2PerDofY,
00066     rmsLocalX, rmsNormLocalX, rmsX, rmsNormX,    //rms value read out from modul histograms
00067     rmsY, rmsNormY,sigmaX,sigmaNormX,
00068     fitMeanX, fitSigmaX, fitMeanNormX, fitSigmaNormX,
00069     fitMeanY, fitSigmaY, fitMeanNormY, fitSigmaNormY,
00070     posR, posPhi, posEta,                        //global coordiantes    
00071     posX, posY, posZ,                            //global coordiantes 
00072     numberOfUnderflows, numberOfOverflows, numberOfOutliers,
00073     rDirection, phiDirection, zDirection, rOrZDirection;
00074   
00075   UInt_t  entries, moduleId, subDetId,  //number of entries for each module //moduleId == detId
00076     layer, side, half, rod,             //half = TPB: halfBarrel, TPE: halfCylinder, TIB: halfShell
00077     ring, petal, 
00078     blade, panel, 
00079     outerInner, module;  //orientation of modules in TIB:1/2= int/ext string, TID:1/2=back/front ring, TEC 1/2=back/front petal
00080 
00081   Bool_t isDoubleSide, isStereo; // (!isDoubleSide) is a detUnit, (isDoubleSide) is a Det (glued Modules) // (!isStereo) is a rPhi-module, (isStereo) is the stereo module from a Det
00082   std::string histNameLocalX, histNameNormLocalX,  histNameLocalY, /* histNameNormLocalY, */
00083     histNameX, histNameNormX, histNameY, histNameNormY;    
00084 };
00085   
00086 #endif