Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /Validation/RecoEgamma/test/validation.csh is written in an unsupported language. File is not indexed.

0001 ##!/bin/csh -x
0002 #!/bin/csh 
0003 
0004 #This script can be used to generate a web page to compare histograms from 
0005 #two input root files produced using the EDAnalyzers in RecoEgamma/Examples,
0006 #by running one of:
0007 #
0008 #  
0009 #  #  "Validation/RecoEgamma/test/PhotonValidator_cfg.py
0010 #
0011 # The default list of histograms (configurable) is based on version VXX-XX-XX
0012 # of Validation/RecoEgamma
0013 #
0014 #Two files are created by this script: validation.C and validation.html.
0015 #validation.C should be run inside root to greate a set of gif images
0016 #which can then be viewed in a web browser using validation.html.
0017 
0018 #=============BEGIN CONFIGURATION=================
0019 
0020 setenv RUNTYPE Central
0021 #setenv RUNTYPE Local
0022 setenv STARTUP True
0023 setenv FASTSIM False
0024 setenv UPGRADE True
0025 ## TYPE options: Photons, GEDPhotons
0026 ## ANALYZERNAME options: PhotonValidator, oldpfPhotonValidator, pfPhotonValidator
0027 #setenv TYPE Photons
0028 #setenv ANALYZERNAME PhotonValidator
0029 setenv TYPE GEDPhotons
0030 setenv ANALYZERNAME pfPhotonValidator
0031 
0032 
0033 setenv CMSSWver1 7_1_0
0034 setenv CMSSWver2 7_1_0
0035 setenv OLDRELEASE 7_1_0
0036 setenv NEWRELEASE 7_1_0
0037 setenv OLDPRERELEASE pre3
0038 setenv NEWPRERELEASE pre4
0039 setenv UPGRADEVER  UPG2017
0040 setenv LHCENERGY   13
0041 setenv PU True
0042 setenv PUlevel 50ns
0043 
0044 if ( $STARTUP == True &&  $FASTSIM == False && $PU == False && $UPGRADE == True ) then
0045 setenv OLDGLOBALTAG POSTLS171_V1-v1
0046 setenv NEWGLOBALTAG POSTLS171_V1-v2
0047 else if ( $UPGRADE == True && $PU == True &&  $FASTSIM == False ) then
0048 setenv OLDGLOBALTAG PU${PUlevel}_POSTLS171_V2-v6
0049 setenv NEWGLOBALTAG PU${PUlevel}_POSTLS171_V2-v2
0050 else if (  $STARTUP == True  && $FASTSIM == True) then
0051 setenv OLDGLOBALTAG POSTLS171_V1_FastSim-v1
0052 setenv NEWGLOBALTAG POSTLS171_V1_FastSim-v2
0053  endif
0054 
0055 
0056 
0057 
0058 setenv OLDRELEASE ${OLDRELEASE}_${OLDPRERELEASE}
0059 #setenv OLDRELEASE ${OLDRELEASE}
0060 setenv NEWRELEASE ${NEWRELEASE}_${NEWPRERELEASE}
0061 #setenv NEWRELEASE ${NEWRELEASE}
0062 
0063 #setenv WorkDir1   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}/src/Validation/RecoEgamma/test
0064 #setenv WorkDir2   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}_${NEWPRERELEASE}/src/Validation/RecoEgamma/test
0065 
0066 setenv WorkDir1   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}_${OLDPRERELEASE}/src/Validation/RecoEgamma/test
0067 setenv WorkDir2   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}_${NEWPRERELEASE}/src/Validation/RecoEgamma/test
0068 
0069 #setenv WorkDir1   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}_${OLDPRERELEASE}/src/Validation/RecoEgamma/test
0070 #setenv WorkDir2   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}/src/Validation/RecoEgamma/test
0071 
0072 #setenv WorkDir1   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver1}/src/Validation/RecoEgamma/test
0073 #setenv WorkDir2   /afs/cern.ch/user/n/nancy/scratch0/CMSSW/test/CMSSW_${CMSSWver2}/src/Validation/RecoEgamma/test
0074 
0075 #Name of sample (affects output directory name and htmldescription only) 
0076 
0077 
0078 #setenv SAMPLE SingleGammaPt10
0079 #setenv SAMPLE SingleGammaPt35
0080 ##setenv SAMPLE SingleGammaFlatPt10_100
0081 setenv SAMPLE H130GGgluonfusion
0082 #setenv SAMPLE PhotonJets_Pt_10
0083 #setenv SAMPLE GammaJets_Pt_80_120
0084 #setenv SAMPLE QCD_Pt_80_120
0085 
0086 
0087 if ( $RUNTYPE == Central ) then
0088 setenv HISTOPATHNAME_Efficiencies DQMData/Run\ 1/EgammaV/Run\ summary/${ANALYZERNAME}/Efficiencies
0089 setenv HISTOPATHNAME_Photons DQMData/Run\ 1/EgammaV/Run\ summary/${ANALYZERNAME}/Photons
0090 setenv HISTOPATHNAME_Conversions DQMData/Run\ 1/EgammaV/Run\ summary/${ANALYZERNAME}/ConversionInfo
0091 endif
0092 
0093 if ( $RUNTYPE == Local ) then
0094 setenv HISTOPATHNAME_Efficiencies DQMData/EgammaV/${ANALYZERNAME}/Efficiencies
0095 setenv HISTOPATHNAME_Photons DQMData/EgammaV/${ANALYZERNAME}/Photons
0096 setenv HISTOPATHNAME_Conversions DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo
0097 endif
0098 
0099 
0100 
0101 
0102 #==============END BASIC CONFIGURATION==================
0103 
0104 
0105 #Input root trees for the two cases to be compared 
0106 
0107 if ($SAMPLE == SingleGammaPt10) then
0108 
0109 if ( $RUNTYPE == Local ) then
0110 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_SingleGammaPt10.root
0111 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_SingleGammaPt10.root
0112 else if ( $RUNTYPE == Central ) then
0113 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValSingleGammaPt10_UP15__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0114 if ( $UPGRADE == True ) then
0115 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt10_UP15__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0116 #setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt10_${UPGRADEVER}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0117 else 
0118 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt10_UP15__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0119 endif
0120 endif
0121 
0122 
0123 else if ($SAMPLE == SingleGammaPt35) then 
0124 
0125 if ( $RUNTYPE == Local ) then
0126 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_SingleGammaPt35.root
0127 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_SingleGammaPt35.root
0128 
0129 else if ( $RUNTYPE == Central ) then
0130 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValSingleGammaPt35__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0131 if ( $UPGRADE == True ) then
0132 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt35_${UPGRADEVER}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0133 else 
0134 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValSingleGammaPt35__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0135 endif 
0136 endif
0137 
0138 
0139 else if ($SAMPLE == SingleGammaFlatPt10_100) then 
0140 
0141 
0142 if ( $RUNTYPE == Local ) then
0143 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_SingleGammaFlatPt10To100.root
0144 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_SingleGammaFlatPt10To100.root
0145 endif 
0146 
0147 
0148 else if ($SAMPLE == H130GGgluonfusion) then 
0149 
0150 
0151 if ( $RUNTYPE == Local ) then
0152 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_H130GGgluonfusion.root
0153 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_H130GGgluonfusion.root
0154 else if ( $RUNTYPE == Central ) then
0155 
0156 #setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__GEN-SIM-DIGI-RECO.root
0157 #setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0158 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion_${UPGRADEVER}_${LHCENERGY}__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0159 
0160 if ( $UPGRADE == True ) then
0161 
0162 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValH130GGgluonfusion_${LHCENERGY}__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0163 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValH130GGgluonfusion_${LHCENERGY}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0164 else
0165 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValH130GGgluonfusion__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0166 endif
0167 
0168 endif
0169 
0170 
0171 
0172 else if ($SAMPLE == PhotonJets_Pt_10) then
0173 
0174 if ( $RUNTYPE == Local ) then
0175 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_PhotonJets_Pt_10.root
0176 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_PhotonJets_Pt_10.root
0177 else if ( $RUNTYPE == Central ) then
0178 
0179 setenv OLDFILE ${WorkDir1}/DQM_V0001_R000000001__RelValPhotonJets_Pt_10__CMSSW_${OLDRELEASE}-${OLDGLOBALTAG}__DQM.root
0180 if ( $UPGRADE == True ) then
0181 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValPhotonJets_Pt_10_${UPGRADEVER}_${LHCENERGY}__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0182 else
0183 setenv NEWFILE ${WorkDir2}/DQM_V0001_R000000001__RelValPhotonJets_Pt_10__CMSSW_${NEWRELEASE}-${NEWGLOBALTAG}__DQM.root
0184 endif 
0185 endif
0186 
0187 else if ($SAMPLE ==  GammaJets_Pt_80_120) then 
0188 
0189 if ( $RUNTYPE == Local ) then
0190 setenv OLDFILE ${WorkDir1}/PhotonValidationRelVal${OLDRELEASE}_GammaJets_Pt_80_120.root
0191 setenv NEWFILE ${WorkDir2}/PhotonValidationRelVal${NEWRELEASE}_DQM.root
0192 endif
0193 
0194 else if ($SAMPLE == QCD_Pt_80_120) then 
0195 
0196 
0197 endif
0198 
0199 
0200 
0201 #Location of output.  The default will put your output in:
0202 #http://cmsdoc.cern.ch/Physics/egamma/www/validation/
0203 
0204 setenv CURRENTDIR $PWD
0205 setenv OUTPATH /afs/cern.ch/cms/Physics/egamma/www/validation/Photons
0206 cd $OUTPATH
0207 setenv NEWRELEASE {$NEWRELEASE}
0208 setenv OLDRELEASE {$OLDRELEASE}
0209 
0210 if (! -d $NEWRELEASE) then
0211   mkdir $NEWRELEASE
0212 endif
0213 setenv OUTPATH $OUTPATH/$NEWRELEASE
0214 cd $OUTPATH
0215 
0216 if (! -d ${TYPE}) then
0217   mkdir ${TYPE}
0218 endif
0219 setenv OUTPATH $OUTPATH/${TYPE}
0220 cd  $OUTPATH
0221 
0222 if (! -d vs${OLDRELEASE}) then
0223   mkdir vs${OLDRELEASE}
0224 endif
0225 setenv OUTPATH $OUTPATH/vs${OLDRELEASE}
0226 
0227 
0228 if ( $FASTSIM == True) then 
0229 setenv OUTDIR $OUTPATH/${SAMPLE}FastSim
0230 else if ( $FASTSIM == False && $UPGRADE == False && $PU == True ) then 
0231 setenv OUTDIR $OUTPATH/${SAMPLE}PU
0232 else if ( $FASTSIM == False && $PU == False && $UPGRADE == False ) then 
0233 setenv OUTDIR $OUTPATH/${SAMPLE}
0234 else if ( $SAMPLE == H130GGgluonfusion  && $UPGRADE == True && $PU == True && $FASTSIM == False) then
0235 setenv OUTDIR $OUTPATH/${SAMPLE}_${LHCENERGY}TeV_PU${PUlevel}
0236 else if ( $SAMPLE == H130GGgluonfusion  && $UPGRADE == True ) then
0237 setenv OUTDIR $OUTPATH/${SAMPLE}_${LHCENERGY}TeV
0238 else if ( $SAMPLE ==  PhotonJets_Pt_10  && $UPGRADE == True ) then
0239 setenv OUTDIR $OUTPATH/${SAMPLE}_${LHCENERGY}TeV
0240 else if ( $SAMPLE ==  SingleGammaPt10  && $UPGRADE == True ) then
0241 setenv OUTDIR $OUTPATH/${SAMPLE}
0242 else if ( $SAMPLE ==  SingleGammaPt35  && $UPGRADE == True ) then
0243 setenv OUTDIR $OUTPATH/${SAMPLE}
0244 endif
0245 
0246 
0247 #else if ( $SAMPLE == H130GGgluonfusion ||  PhotonJets_Pt_10  && $UPGRADE == True ) then
0248 #if ( $PU == True) then
0249 #setenv OUTDIR $OUTPATH/${SAMPLE}PU
0250 #else if ( $PU == False) then
0251 #setenv OUTDIR $OUTPATH/${SAMPLE}
0252 #endif
0253 
0254 
0255 
0256 if (! -d $OUTDIR) then
0257   cd $OUTPATH
0258   mkdir $OUTDIR
0259   cd $OUTDIR
0260   mkdir gifs
0261 endif
0262 cd $OUTDIR
0263 
0264 
0265 #The list of histograms to be compared for each TYPE can be configured below:
0266 
0267 
0268 if ( $TYPE == Photons ||  $TYPE == GEDPhotons ) then
0269 
0270 
0271 cat > efficiencyForPhotons <<EOF
0272   recoEffVsEta
0273   recoEffVsPhi
0274   recoEffVsEt
0275   deadChVsEta
0276   deadChVsPhi
0277   deadChVsEt
0278 EOF
0279 
0280 
0281 #  gamgamMassAll
0282 #  gamgamMassBarrel
0283 #  gamgamMassEndcap
0284 #  gamgamMassNoConvAll
0285 #  gamgamMassNoConvBarrel
0286 #  gamgamMassNoConvEndcap
0287 #  gamgamMassConvAll
0288 #  gamgamMassConvBarrel
0289 #  gamgamMassConvEndcap
0290 
0291 
0292 cat > scaledhistosForPhotons <<EOF
0293   nOfflineVtx
0294   scEta
0295   scPhi
0296   scEAll
0297   scEtAll
0298   phoEta
0299   phoPhi
0300   phoDEta
0301   phoDPhi
0302   phoEAll
0303   phoEtAll
0304   eResAll
0305   eResBarrel
0306   eResEndcap
0307   eResunconvAll
0308   eResunconvBarrel
0309   eResunconvEndcap
0310   eResconvAll
0311   eResconvBarrel
0312   eResconvEndcap
0313   isoTrkSolidConeDR04All
0314   isoTrkSolidConeDR04Barrel
0315   isoTrkSolidConeDR04Endcap
0316   nTrkSolidConeDR04All
0317   nTrkSolidConeDR04Barrel
0318   nTrkSolidConeDR04Endcap
0319   r9Barrel
0320   r9Endcap
0321   r1Barrel
0322   r1Endcap
0323   r2Barrel
0324   r2Endcap
0325   sigmaIetaIetaBarrel
0326   sigmaIetaIetaEndcap
0327   hOverEAll
0328   hOverEBarrel
0329   hOverEEndcap
0330   newhOverEAll
0331   newhOverEBarrel
0332   newhOverEEndcap
0333   hcalTowerSumEtConeDR04Barrel
0334   hcalTowerSumEtConeDR04Endcap
0335   hcalTowerBcSumEtConeDR04Barrel
0336   hcalTowerBcSumEtConeDR04Endcap
0337   ecalRecHitSumEtConeDR04Barrel
0338   ecalRecHitSumEtConeDR04Endcap
0339 
0340 
0341 EOF
0342 
0343 cat > scaledhistosForPhotonsLogScale <<EOF
0344   hOverEAll
0345   hOverEBarrel
0346   hOverEEndcap
0347   newhOverEAll
0348   newhOverEBarrel
0349   newhOverEEndcap
0350   hcalTowerSumEtConeDR04Barrel
0351   hcalTowerSumEtConeDR04Endcap
0352   hcalTowerBcSumEtConeDR04Barrel
0353   hcalTowerBcSumEtConeDR04Endcap
0354   ecalRecHitSumEtConeDR04Barrel
0355   ecalRecHitSumEtConeDR04Endcap
0356   r9Barrel
0357   r9Endcap
0358   r1Barrel
0359   r1Endcap
0360   r2Barrel
0361   r2Endcap
0362   sigmaIetaIetaAll
0363   sigmaIetaIetaBarrel
0364   sigmaIetaIetaEndcap
0365 
0366 
0367 
0368 EOF
0369 
0370 
0371 cat > unscaledhistosForPhotons <<EOF
0372 pEResVsEtAll
0373 pEResVsEtBarrel
0374 pEResVsEtEndcap
0375 pEResVsEtaAll
0376 pEResVsEtaUnconv
0377 pEResVsEtaConv
0378 pEcalRecHitSumEtConeDR04VsEtaAll
0379 pEcalRecHitSumEtConeDR04VsEtBarrel
0380 pEcalRecHitSumEtConeDR04VsEtEndcap
0381 pHcalTowerSumEtConeDR04VsEtaAll
0382 pHcalTowerSumEtConeDR04VsEtBarrel
0383 pHcalTowerSumEtConeDR04VsEtEndcap
0384 pHcalTowerBcSumEtConeDR04VsEtaAll
0385 pHcalTowerBcSumEtConeDR04VsEtBarrel
0386 pHcalTowerBcSumEtConeDR04VsEtEndcap
0387 pHoverEVsEtaAll
0388 pHoverEVsEtAll
0389 pnewHoverEVsEtaAll
0390 pnewHoverEVsEtAll
0391 
0392 
0393 EOF
0394 
0395 
0396 
0397 cat > scaledhistosGEDspecific <<EOF
0398   eResRegr1unconvAll
0399   eResRegr1unconvBarrel
0400   eResRegr1unconvEndcap
0401   eResRegr1convAll
0402   eResRegr1convBarrel
0403   eResRegr1convEndcap
0404   eResRegr2unconvAll
0405   eResRegr2unconvBarrel
0406   eResRegr2unconvEndcap
0407   eResRegr2convAll
0408   eResRegr2convBarrel
0409   eResRegr2convEndcap
0410   chargedHadIsoBarrel
0411   chargedHadIsoEndcap
0412   neutralHadIsoBarrel
0413   neutralHadIsoEndcap
0414   photonIsoBarrel
0415   photonIsoEndcap
0416   pfMVABarrel
0417   pfMVAEndcap
0418   nCluOutMustacheBarrel
0419   nCluOutMustacheEndcap
0420   dRPhoPFcand_Pho_unCleanedBarrel
0421   dRPhoPFcand_Pho_unCleanedEndcap
0422   dRPhoPFcand_Pho_CleanedBarrel
0423   dRPhoPFcand_Pho_CleanedEndcap
0424   dRPhoPFcand_ChHad_unCleanedBarrel
0425   dRPhoPFcand_ChHad_unCleanedEndcap
0426   dRPhoPFcand_ChHad_CleanedBarrel
0427   dRPhoPFcand_ChHad_CleanedEndcap
0428   dRPhoPFcand_NeuHad_unCleanedBarrel
0429   dRPhoPFcand_NeuHad_unCleanedEndcap
0430   dRPhoPFcand_NeuHad_CleanedBarrel
0431   dRPhoPFcand_NeuHad_CleanedEndcap
0432   SumPtOverPhoPt_Pho_unCleanedBarrel
0433   SumPtOverPhoPt_Pho_unCleanedEndcap
0434   SumPtOverPhoPt_Pho_CleanedBarrel
0435   SumPtOverPhoPt_Pho_CleanedEndcap
0436   SumPtOverPhoPt_ChHad_unCleanedBarrel
0437   SumPtOverPhoPt_ChHad_unCleanedEndcap
0438   SumPtOverPhoPt_ChHad_CleanedBarrel
0439   SumPtOverPhoPt_ChHad_CleanedEndcap
0440   SumPtOverPhoPt_NeuHad_unCleanedBarrel
0441   SumPtOverPhoPt_NeuHad_unCleanedEndcap
0442   SumPtOverPhoPt_NeuHad_CleanedBarrel
0443   SumPtOverPhoPt_NeuHad_CleanedEndcap
0444 
0445 EOF
0446 
0447 
0448 cat > scaledhistosGEDspecificLogScale <<EOF
0449   photonIsoBarrel
0450   photonIsoEndcap
0451   chargedHadIsoBarrel
0452   chargedHadIsoEndcap
0453   neutralHadIsoBarrel
0454   neutralHadIsoEndcap
0455 
0456 
0457 EOF
0458 
0459 
0460 
0461 cat > efficiencyForConvertedPhotons <<EOF
0462 
0463   convEffVsEtaTwoTracks
0464   convEffVsPhiTwoTracks
0465   convEffVsRTwoTracks
0466   convEffVsZTwoTracks
0467   convEffVsEtTwoTracks
0468   convEffVsEtaTwoTracksAndVtxProbGT0
0469   convEffVsRTwoTracksAndVtxProbGT0
0470 
0471 EOF
0472 
0473 
0474 
0475 cat > scaledhistosForConvertedPhotons <<EOF
0476 
0477   convEta2
0478   convPhi
0479   convEResAll
0480   convEResBarrel
0481   convEResEndcap
0482   PoverEtracksAll
0483   PoverEtracksBarrel 
0484   PoverEtracksEndcap
0485   convPtResAll
0486   convPtResBarrel
0487   convPtResEndcap
0488   convVtxdR
0489   convVtxdR_barrel
0490   convVtxdR_endcap
0491   convVtxdZ
0492   convVtxdZ_barrel
0493   convVtxdZ_endcap
0494   convVtxdX
0495   convVtxdX_barrel
0496   convVtxdX_endcap
0497   convVtxdY
0498   convVtxdY_barrel
0499   convVtxdY_endcap
0500   mvaOutAll
0501   mvaOutBarrel
0502   mvaOutEndcap
0503 
0504 EOF
0505 
0506 
0507 cat > scaledhistosForConvertedPhotonsLogScale <<EOF
0508   EoverPtracksAll
0509   EoverPtracksBarrel 
0510   EoverPtracksEndcap
0511   vtxChi2ProbAll
0512   vtxChi2ProbBarrel
0513   vtxChi2ProbEndcap
0514 
0515 
0516 EOF
0517 
0518 
0519 
0520 cat > unscaledhistosForConvertedPhotons <<EOF
0521 pEoverEtrueVsEtaAll
0522 pEoverPVsEtaAll
0523 pEoverPVsRAll
0524 pConvVtxdRVsR
0525 pConvVtxdRVsEta
0526 pConvVtxdXVsX
0527 pConvVtxdYVsY
0528 pConvVtxdZVsZ
0529 EOF
0530 
0531 
0532 cat > 2dhistosForConvertedPhotons <<EOF
0533   convVtxRvsZAll
0534 EOF
0535 
0536 cat > projectionsForConvertedPhotons <<EOF
0537    convVtxRvsZBarrel
0538    convVtxRvsZEndcap
0539 EOF
0540 
0541 
0542 
0543 cat > fakeRateForConvertedPhotons <<EOF
0544 
0545   convFakeRateVsEtaTwoTracks
0546   convFakeRateVsPhiTwoTracks
0547   convFakeRateVsRTwoTracks
0548   convFakeRateVsZTwoTracks
0549   convFakeRateVsEtTwoTracks
0550 
0551 EOF
0552 
0553 
0554 
0555 cat > scaledhistosForTracks <<EOF
0556 
0557 tkChi2AllTracks
0558 hTkPtPullAll
0559 hTkPtPullBarrel
0560 hTkPtPullEndcap
0561 hDPhiTracksAtVtxAll
0562 hDCotTracksAll
0563 zPVFromTracksAll
0564 zPVFromTracksBarrel
0565 zPVFromTracksEndcap
0566 dzPVFromTracksAll
0567 dzPVFromTracksBarrel
0568 dzPVFromTracksEndcap
0569 
0570 EOF
0571 
0572 cat > unscaledhistosForTracks <<EOF
0573 h_nHitsVsEtaAllTracks
0574 h_nHitsVsRAllTracks
0575 pChi2VsEtaAll
0576 pChi2VsRAll
0577 pDCotTracksVsEtaAll
0578 pDCotTracksVsRAll
0579 pdzPVVsR
0580 
0581 
0582 EOF
0583 
0584 
0585 
0586 endif
0587 
0588 #=================END CONFIGURATION=====================
0589 
0590 if (-e validation.C) rm validation.C
0591 touch validation.C
0592 cat > begin.C <<EOF
0593 {
0594 TFile *file_old = TFile::Open("$OLDFILE");
0595 TFile *file_new = TFile::Open("$NEWFILE");
0596 
0597 EOF
0598 cat begin.C >>& validation.C
0599 rm begin.C
0600 
0601 setenv N 1
0602 
0603 
0604 
0605 foreach i (`cat efficiencyForPhotons`)
0606   cat > temp$N.C <<EOF
0607 
0608 TCanvas *c$i = new TCanvas("c$i");
0609 c$i->SetFillColor(10);
0610 c$i->Divide(1,2);
0611 c$i->cd(1);
0612 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0613 file_old->cd("$HISTOPATHNAME_Efficiencies");
0614 $i->SetStats(0);
0615 int nBins = $i->GetNbinsX();
0616 float xMin=$i->GetBinLowEdge(1);
0617 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0618 TH1F* hold=new  TH1F("hold"," ",nBins,xMin,xMax);
0619 hold=$i;
0620 if ( $i==deadChVsEta ||  $i==deadChVsPhi ||  $i==deadChVsEt ) {
0621 $i->SetMinimum(0.);
0622 $i->SetMaximum(0.2);
0623 } else if (  $i==recoEffVsEt ) {
0624 $i->GetXaxis()->SetRangeUser(0.,200.);
0625 } else {
0626 $i->SetMinimum(0.);
0627 $i->SetMaximum(1.1);
0628 }
0629 $i->SetLineColor(kPink+8);
0630 $i->SetMarkerColor(kPink+8);
0631 $i->SetMarkerStyle(20);
0632 $i->SetMarkerSize(1);
0633 $i->SetLineWidth(1);
0634 $i->Draw();
0635 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0636 file_new->cd("$HISTOPATHNAME_Efficiencies");
0637 $i->SetStats(0);
0638 $i->SetMinimum(0.);
0639 $i->SetMaximum(1.1);
0640 TH1F* hnew=new  TH1F("hnew"," ",nBins,xMin,xMax);
0641 hnew=$i;
0642 $i->SetLineColor(kBlack);
0643 $i->SetMarkerColor(kBlack);
0644 $i->SetMarkerStyle(20);
0645 $i->SetMarkerSize(1);
0646 $i->SetLineWidth(1);
0647 $i->Draw("same");
0648 c$i->cd(2);
0649 TH1F* ratio=new  TH1F("ratio"," ",nBins,xMin,xMax);
0650 ratio->Divide(hnew,hold);
0651 ratio->SetStats(0);
0652 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
0653 float num=hnew->GetBinContent(i);
0654 float den=hold->GetBinContent(i);
0655 float dNum=hnew->GetBinError(i);
0656 float dDen=hold->GetBinError(i);
0657 float erro=0;
0658 if ( num!=0 && den!=0) {
0659 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
0660 erro=sqrt(erro);
0661 }
0662 ratio->SetBinError(i, erro);
0663 }
0664 ratio->SetLineColor(1);
0665 ratio->SetLineWidth(2);
0666 ratio->SetMinimum(0.);
0667 ratio->SetMaximum(2.);
0668 ratio->Draw("e");
0669 TLine *l = new TLine(xMin,1.,xMax,1.);
0670 l->Draw(); 
0671 c$i->SaveAs("gifs/$i.gif");
0672 
0673 EOF
0674   setenv N `expr $N + 1`
0675 end
0676 
0677 foreach i (`cat scaledhistosForPhotons`)
0678   cat > temp$N.C <<EOF
0679 TCanvas *c$i = new TCanvas("c$i");
0680 c$i->SetFillColor(10);
0681 c$i->Divide(1,2);
0682 c$i->cd(1);
0683 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0684 file_new->cd("$HISTOPATHNAME_Photons");
0685 int nBins = $i->GetNbinsX();
0686 float xMin=$i->GetBinLowEdge(1);
0687 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0688 Double_t mnew=$i->GetMaximum();
0689 Double_t nnew=$i->GetEntries();
0690 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0691 file_old->cd("$HISTOPATHNAME_Photons");
0692 
0693 TH1F* hold=new  TH1F("hold"," ",nBins,xMin,xMax);
0694 hold=$i;
0695 Double_t mold=$i->GetMaximum();
0696 Double_t nold=$i->GetEntries();
0697 if ( $i==scEAll || $i==phoEAll ) {  
0698 $i->GetYaxis()->SetRangeUser(0.,2000.);
0699 }
0700 $i->SetStats(0);
0701 $i->SetMinimum(0.);
0702 if ( mnew > mold+sqrt(mold) )  { 
0703 $i->SetMaximum(mnew+2*sqrt(mnew)); 
0704 }  else { 
0705 $i->SetMaximum(mold+2*sqrt(mold)); 
0706 }
0707 $i->SetLineColor(kPink+8);
0708 $i->SetFillColor(kPink+8);
0709 //$i->SetLineWidth(3);
0710 $i->Draw();
0711 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0712 file_new->cd("$HISTOPATHNAME_Photons");
0713 Double_t nnew=$i->GetEntries();
0714 $i->SetStats(0);
0715 $i->SetLineColor(kBlack);
0716 $i->SetMarkerColor(kBlack);
0717 $i->SetMarkerStyle(20);
0718 $i->SetMarkerSize(0.8);
0719 //$i->SetLineWidth(1);
0720 $i->Scale(nold/nnew);
0721 TH1F* hnew=new  TH1F("hnew"," ",nBins,xMin,xMax);
0722 hnew=$i;
0723 $i->Draw("e1same");
0724 c$i->cd(2);
0725 TH1F* ratio=new  TH1F("ratio"," ",nBins,xMin,xMax);
0726 ratio->Divide(hnew,hold);
0727 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
0728 float num=hnew->GetBinContent(i);
0729 float den=hold->GetBinContent(i);
0730 float dNum=hnew->GetBinError(i);
0731 float dDen=hold->GetBinError(i);
0732 float erro=0;
0733 if ( num!=0 && den!=0) {
0734 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
0735 erro=sqrt(erro);
0736 }
0737 ratio->SetBinError(i, erro);
0738 }
0739 ratio->SetStats(0);
0740 ratio->SetLineColor(1);
0741 ratio->SetLineWidth(2);
0742 ratio->SetMinimum(0.);
0743 ratio->SetMaximum(4.);
0744 ratio->Draw("e");
0745 TLine *l = new TLine(xMin,1.,xMax,1.);
0746 l->Draw(); 
0747 c$i->SaveAs("gifs/$i.gif");
0748 //TString gifName=TString("gifs/$i")+"_ratio.gif";
0749 //c$i->SaveAs(gifName);
0750 EOF
0751   setenv N `expr $N + 1`
0752 end
0753 
0754 
0755 foreach i (`cat scaledhistosGEDspecific`)
0756   cat > temp$N.C <<EOF
0757 TCanvas *c$i = new TCanvas("c$i");
0758 c$i->SetFillColor(10);
0759 c$i->Divide(1,2);
0760 c$i->cd(1);
0761 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0762 file_new->cd("$HISTOPATHNAME_Photons");
0763 int nBins = $i->GetNbinsX();
0764 float xMin=$i->GetBinLowEdge(1);
0765 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0766 Double_t mnew=$i->GetMaximum();
0767 Double_t nnew=$i->GetEntries();
0768 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0769 file_old->cd("$HISTOPATHNAME_Photons");
0770 
0771 TH1F* hold=new  TH1F("hold"," ",nBins,xMin,xMax);
0772 hold=$i;
0773 Double_t mold=$i->GetMaximum();
0774 Double_t nold=$i->GetEntries();
0775 if ( $i==scEAll || $i==phoEAll ) {  
0776 $i->GetYaxis()->SetRangeUser(0.,2000.);
0777 }
0778 if ($i==chargedHadIsoBarrel || $i==chargedHadIsoBarrel ) {
0779 $i->GetXaxis()->SetRangeUser(0.,12.);
0780 }
0781 $i->SetStats(0);
0782 $i->SetMinimum(0.);
0783 if ( mnew > mold+sqrt(mold) )  { 
0784 $i->SetMaximum(mnew+2*sqrt(mnew)); 
0785 }  else { 
0786 $i->SetMaximum(mold+2*sqrt(mold)); 
0787 }
0788 $i->SetLineColor(kPink+8);
0789 $i->SetFillColor(kPink+8);
0790 //$i->SetLineWidth(3);
0791 $i->Draw();
0792 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0793 file_new->cd("$HISTOPATHNAME_Photons");
0794 Double_t nnew=$i->GetEntries();
0795 $i->SetStats(0);
0796 $i->SetLineColor(kBlack);
0797 $i->SetMarkerColor(kBlack);
0798 $i->SetMarkerStyle(20);
0799 $i->SetMarkerSize(0.8);
0800 //$i->SetLineWidth(1);
0801 $i->Scale(nold/nnew);
0802 TH1F* hnew=new  TH1F("hnew"," ",nBins,xMin,xMax);
0803 hnew=$i;
0804 $i->Draw("e1same");
0805 c$i->cd(2);
0806 TH1F* ratio=new  TH1F("ratio"," ",nBins,xMin,xMax);
0807 ratio->Divide(hnew,hold);
0808 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
0809 float num=hnew->GetBinContent(i);
0810 float den=hold->GetBinContent(i);
0811 float dNum=hnew->GetBinError(i);
0812 float dDen=hold->GetBinError(i);
0813 float erro=0;
0814 if ( num!=0 && den!=0) {
0815 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
0816 erro=sqrt(erro);
0817 }
0818 ratio->SetBinError(i, erro);
0819 }
0820 ratio->SetStats(0);
0821 ratio->SetLineColor(1);
0822 ratio->SetLineWidth(2);
0823 ratio->SetMinimum(0.);
0824 ratio->SetMaximum(4.);
0825 ratio->Draw("e");
0826 TLine *l = new TLine(xMin,1.,xMax,1.);
0827 l->Draw(); 
0828 c$i->SaveAs("gifs/$i.gif");
0829 //TString gifName=TString("gifs/$i")+"_ratio.gif";
0830 //c$i->SaveAs(gifName);
0831 EOF
0832   setenv N `expr $N + 1`
0833 end
0834 
0835 
0836 
0837 foreach i (`cat scaledhistosGEDspecificLogScale`)
0838   cat > temp$N.C <<EOF
0839 TCanvas *cc$i = new TCanvas("cc$i");
0840 cc$i->cd();
0841 cc$i->SetFillColor(10);
0842 cc$i->SetLogy();
0843 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0844 file_new->cd("$HISTOPATHNAME_Photons");
0845 Double_t nnew=$i->GetEntries();
0846 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0847 file_old->cd("$HISTOPATHNAME_Photons");
0848 if ( $i==hcalTowerSumEtConeDR04Barrel ||  $i==hcalTowerSumEtConeDR04Endcap  ) {  
0849 $i->GetXaxis()->SetRangeUser(0.,10.);
0850 }
0851 Double_t nold=$i->GetEntries();
0852 $i->SetStats(0);
0853 $i->SetMinimum(1);
0854 $i->SetLineColor(kPink+8);
0855 $i->SetFillColor(kPink+8);
0856 $i->Draw();
0857 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0858 file_new->cd("$HISTOPATHNAME_Photons");
0859 Double_t nnew=$i->GetEntries();
0860 $i->SetStats(0);
0861 $i->SetLineColor(kBlack);
0862 $i->SetMarkerColor(kBlack);
0863 $i->SetMarkerStyle(20);
0864 $i->SetMarkerSize(1);
0865 $i->Draw("e1same");
0866 cc$i->SaveAs("gifs/log$i.gif");
0867 
0868 EOF
0869   setenv N `expr $N + 1`
0870 end
0871 
0872 
0873 
0874 
0875 
0876 foreach i (`cat scaledhistosForPhotonsLogScale`)
0877   cat > temp$N.C <<EOF
0878 TCanvas *cc$i = new TCanvas("cc$i");
0879 cc$i->cd();
0880 cc$i->SetFillColor(10);
0881 cc$i->SetLogy();
0882 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0883 file_new->cd("$HISTOPATHNAME_Photons");
0884 Double_t nnew=$i->GetEntries();
0885 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0886 file_old->cd("$HISTOPATHNAME_Photons");
0887 if ( $i==hcalTowerSumEtConeDR04Barrel ||  $i==hcalTowerSumEtConeDR04Endcap  ) {  
0888 $i->GetXaxis()->SetRangeUser(0.,10.);
0889 }
0890 Double_t nold=$i->GetEntries();
0891 $i->SetStats(0);
0892 $i->SetMinimum(1);
0893 $i->SetLineColor(kPink+8);
0894 $i->SetFillColor(kPink+8);
0895 $i->Draw();
0896 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0897 file_new->cd("$HISTOPATHNAME_Photons");
0898 Double_t nnew=$i->GetEntries();
0899 $i->SetStats(0);
0900 $i->SetLineColor(kBlack);
0901 $i->SetMarkerColor(kBlack);
0902 $i->SetMarkerStyle(20);
0903 $i->SetMarkerSize(1);
0904 $i->Draw("e1same");
0905 cc$i->SaveAs("gifs/log$i.gif");
0906 
0907 EOF
0908   setenv N `expr $N + 1`
0909 end
0910 
0911 
0912 
0913 
0914 
0915 foreach i (`cat unscaledhistosForPhotons`)
0916   cat > temp$N.C <<EOF
0917 TCanvas *c$i = new TCanvas("c$i");
0918 c$i->SetFillColor(10);
0919 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0920 file_old->cd("$HISTOPATHNAME_Photons");
0921 $i->SetStats(0);
0922 if ( $i==pEcalRecHitSumEtConeDR04VsEtaAll   ) {  
0923 $i->GetYaxis()->SetRangeUser(0.,5.);
0924 } else if ( $i==pEcalRecHitSumEtConeDR04VsEtBarrel ) 
0925 { $i->GetYaxis()->SetRangeUser(0.,20.); 
0926 } else if ( $i==pEcalRecHitSumEtConeDR04VsEtEndcap ) 
0927 { $i->GetYaxis()->SetRangeUser(0.,20.);
0928 } else if ( $i==pHcalTowerSumEtConeDR04VsEtaAll) 
0929 { $i->GetYaxis()->SetRangeUser(0.,0.5);
0930 } else if ( $i==pHcalTowerBcSumEtConeDR04VsEtaAll   ) 
0931 { $i->GetYaxis()->SetRangeUser(0.,1.);
0932 } else if ( $i==pHcalTowerSumEtConeDR04VsEtBarrel ||  $i==pHcalTowerBcSumEtConeDR04VsEtBarrel) 
0933 { $i->GetYaxis()->SetRangeUser(0.,5.);
0934 } else if ( $i==pHcalTowerSumEtConeDR04VsEtEndcap  || $i==pHcalTowerBcSumEtConeDR04VsEtEndcap ) 
0935 { $i->GetYaxis()->SetRangeUser(0.,5.);
0936 } else if ( $i==pHoverEVsEtaAll || $i==pnewHoverEVsEtaAll  ) 
0937 { $i->GetYaxis()->SetRangeUser(-0.05,0.05);
0938 } else if ( $i==pHoverEVsEtAll ||  $i==pnewHoverEVsEtAll ) 
0939 { $i->GetYaxis()->SetRangeUser(-0.05,0.05);
0940 } else  {
0941 $i->SetMinimum(0.94);
0942 $i->SetMaximum(1.04);
0943 }
0944 $i->SetLineColor(kPink+8);
0945 $i->SetMarkerColor(kPink+8);
0946 $i->SetMarkerStyle(20);
0947 $i->SetMarkerSize(1);
0948 $i->SetLineWidth(1);
0949 $i->Draw();
0950 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Photons");
0951 file_new->cd("$HISTOPATHNAME_Photons");
0952 $i->SetStats(0);
0953 $i->SetLineColor(kBlack);
0954 $i->SetMarkerColor(kBlack);
0955 $i->SetMarkerStyle(20);
0956 $i->SetMarkerSize(1);
0957 $i->SetLineWidth(1);
0958 $i->Draw("e1same");
0959 c$i->SaveAs("gifs/$i.gif");
0960 
0961 EOF
0962   setenv N `expr $N + 1`
0963 end
0964 
0965 
0966 
0967 
0968 
0969 foreach i (`cat efficiencyForConvertedPhotons`)
0970   cat > temp$N.C <<EOF
0971 TCanvas *c$i = new TCanvas("c$i");
0972 c$i->SetFillColor(10);
0973 c$i->Divide(1,2);
0974 c$i->cd(1);
0975 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0976 file_old->cd("$HISTOPATHNAME_Efficiencies");
0977 $i->SetStats(0);
0978 int nBins = $i->GetNbinsX();
0979 float xMin=$i->GetBinLowEdge(1);
0980 float xMax=$i->GetBinLowEdge(nBins)+$i->GetBinWidth(nBins);
0981 TH1F* hold=new  TH1F("hold"," ",nBins,xMin,xMax);
0982 hold=$i;
0983 $i->SetMinimum(0.);
0984 $i->SetMaximum(1.);
0985 $i->SetLineColor(kPink+8);
0986 $i->SetMarkerColor(kPink+8);
0987 $i->SetMarkerStyle(20);
0988 $i->SetMarkerSize(1);
0989 $i->SetLineWidth(1);
0990 $i->Draw();
0991 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
0992 file_new->cd("$HISTOPATHNAME_Efficiencies");
0993 TH1F* hnew=new  TH1F("hnew"," ",nBins,xMin,xMax);
0994 hnew=$i;
0995 $i->SetStats(0);
0996 $i->SetMinimum(0.);
0997 $i->SetMaximum(1.);
0998 $i->SetLineColor(kBlack);
0999 $i->SetMarkerColor(kBlack);
1000 $i->SetMarkerStyle(20);
1001 $i->SetMarkerSize(1);
1002 $i->SetLineWidth(1);
1003 $i->Draw("same");
1004 TH1F* ratio=new  TH1F("ratio"," ",nBins,xMin,xMax);
1005 ratio->Divide(hnew,hold);
1006 for ( int i=1; i<=ratio->GetNbinsX(); i++ ) {
1007 float num=hnew->GetBinContent(i);
1008 float den=hold->GetBinContent(i);
1009 float dNum=hnew->GetBinError(i);
1010 float dDen=hold->GetBinError(i);
1011 float erro=0;
1012 if ( num!=0 && den!=0) {
1013 erro= ((1./den)*(1./den)*dNum*dNum) + ((num*num)/(den*den*den*den) * (dDen*dDen));
1014 erro=sqrt(erro);
1015 }
1016 ratio->SetBinError(i, erro);
1017 }
1018 ratio->SetStats(0);
1019 ratio->SetLineColor(1);
1020 ratio->SetLineWidth(2);
1021 ratio->SetMinimum(0.);
1022 ratio->SetMaximum(2.);
1023 c$i->cd(2);
1024 ratio->Draw("e");
1025 TLine *l = new TLine(xMin,1.,xMax,1.);
1026 l->Draw();
1027 c$i->SaveAs("gifs/$i.gif");
1028 
1029 EOF
1030   setenv N `expr $N + 1`
1031 end
1032 
1033 
1034 
1035 
1036 foreach i (`cat scaledhistosForConvertedPhotons`)
1037   cat > temp$N.C <<EOF
1038 TCanvas *c$i = new TCanvas("c$i");
1039 c$i->SetFillColor(10);
1040 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1041 file_new->cd("$HISTOPATHNAME_Conversions");
1042 Double_t mnew=$i->GetMaximum();
1043 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1044 file_old->cd("$HISTOPATHNAME_Conversions");
1045 Double_t mold=$i->GetMaximum();
1046 $i->SetStats(0);
1047 $i->SetMinimum(0.);
1048 if ( mnew > mold) 
1049 $i->SetMaximum(mnew+mnew*0.1);
1050 else 
1051 $i->SetMaximum(mold+mold*0.1);
1052 $i->SetLineColor(kPink+8);
1053 $i->SetFillColor(kPink+8);
1054 $i->SetLineWidth(3);
1055 $i->Draw();
1056 Double_t nold=$i->GetEntries();
1057 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1058 file_new->cd("$HISTOPATHNAME_Conversions");
1059 Double_t nnew=$i->GetEntries();
1060 $i->SetStats(0);
1061 $i->SetLineColor(kBlack);
1062 $i->SetMarkerColor(kBlack);
1063 $i->SetMarkerStyle(20);
1064 $i->SetMarkerSize(1);
1065 $i->SetLineWidth(1);
1066 $i->Scale(nold/nnew);
1067 $i->Draw("e1same");
1068 c$i->SaveAs("gifs/$i.gif");
1069 
1070 EOF
1071   setenv N `expr $N + 1`
1072 end
1073 
1074 
1075 foreach i (`cat scaledhistosForConvertedPhotonsLogScale`)
1076   cat > temp$N.C <<EOF
1077 TCanvas *c$i = new TCanvas("c$i");
1078 c$i->SetFillColor(10);
1079 c$i->SetLogy(1);
1080 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1081 file_new->cd("$HISTOPATHNAME_Conversions");
1082 Double_t mnew=$i->GetMaximum();
1083 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1084 file_old->cd("$HISTOPATHNAME_Conversions");
1085 Double_t mold=$i->GetMaximum();
1086 $i->SetStats(0);
1087 $i->SetLineColor(kPink+8);
1088 $i->SetFillColor(kPink+8);
1089 $i->SetLineWidth(3);
1090 $i->Draw();
1091 Double_t nold=$i->GetEntries();
1092 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1093 file_new->cd("$HISTOPATHNAME_Conversions");
1094 Double_t nnew=$i->GetEntries();
1095 $i->SetStats(0);
1096 $i->SetLineColor(kBlack);
1097 $i->SetMarkerColor(kBlack);
1098 $i->SetMarkerStyle(20);
1099 $i->SetMarkerSize(1);
1100 $i->SetLineWidth(1);
1101 $i->Scale(nold/nnew);
1102 $i->Draw("e1same");
1103 c$i->SaveAs("gifs/$i.gif");
1104 
1105 EOF
1106   setenv N `expr $N + 1`
1107 end
1108 
1109 
1110 
1111 
1112 
1113 foreach i (`cat unscaledhistosForConvertedPhotons`)
1114   cat > temp$N.C <<EOF
1115 TCanvas *c$i = new TCanvas("c$i");
1116 c$i->SetFillColor(10);
1117 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1118 file_old->cd("$HISTOPATHNAME_Conversions");
1119 $i->SetStats(0);
1120 $i->GetYaxis()->SetRangeUser(0.6.,2);
1121 if (  $i == pConvVtxdRVsR || $i == pConvVtxdRVsEta || $i == pConvVtxdXVsX ||  $i ==  pConvVtxdYVsY ) {
1122 $i->GetYaxis()->SetRangeUser(-10.,10);
1123 } else if ( $i == pConvVtxdZVsZ ) {
1124 $i->GetYaxis()->SetRangeUser(-10.,10);
1125 }
1126 $i->SetLineColor(kPink+8);
1127 $i->SetMarkerColor(kPink+8);
1128 $i->SetMarkerStyle(20);
1129 $i->SetMarkerSize(1);
1130 $i->SetLineWidth(1);
1131 $i->Draw();
1132 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1133 file_new->cd("$HISTOPATHNAME_Conversions");
1134 $i->SetStats(0);
1135 $i->SetLineColor(kBlack);
1136 $i->SetMarkerColor(kBlack);
1137 $i->SetMarkerStyle(20);
1138 $i->SetMarkerSize(1);
1139 $i->SetLineWidth(1);
1140 $i->Draw("e1same");
1141 c$i->SaveAs("gifs/$i.gif");
1142 
1143 EOF
1144   setenv N `expr $N + 1`
1145 end
1146 
1147 
1148 
1149 foreach i (`cat fakeRateForConvertedPhotons`)
1150   cat > temp$N.C <<EOF
1151 TCanvas *c$i = new TCanvas("c$i");
1152 c$i->SetFillColor(10);
1153 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
1154 file_old->cd("$HISTOPATHNAME_Efficiencies");
1155 $i->SetStats(0);
1156 $i->SetMinimum(0.);
1157 $i->SetMaximum(1.);
1158 $i->SetLineColor(kPink+8);
1159 $i->SetMarkerColor(kPink+8);
1160 $i->SetMarkerStyle(20);
1161 $i->SetMarkerSize(1);
1162 $i->SetLineWidth(1);
1163 $i->Draw();
1164 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/Efficiencies");
1165 file_new->cd("$HISTOPATHNAME_Efficiencies");
1166 $i->SetStats(0);
1167 $i->SetMinimum(0.);
1168 $i->SetLineColor(kBlack);
1169 $i->SetMarkerColor(kBlack);
1170 $i->SetMarkerStyle(20);
1171 $i->SetMarkerSize(1);
1172 $i->SetLineWidth(1);
1173 $i->Draw("same");
1174 c$i->SaveAs("gifs/$i.gif");
1175 
1176 EOF
1177   setenv N `expr $N + 1`
1178 end
1179 
1180 
1181 foreach i (`cat 2dhistosForConvertedPhotons`)
1182   cat > temp$N.C <<EOF
1183 TCanvas *c$i = new TCanvas("c$i");
1184 c$i->SetFillColor(10);
1185 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1186 file_old->cd("$HISTOPATHNAME_Conversions");
1187 $i->SetStats(0);
1188 $i->SetMinimum(0.);
1189 $i->SetMarkerColor(kPink+8);
1190 $i->Draw();
1191 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1192 file_new->cd("$HISTOPATHNAME_Conversions");
1193 $i->SetStats(0);
1194 $i->SetMarkerColor(kBlack);
1195 $i->Draw("same");
1196 c$i->SaveAs("gifs/$i.gif");
1197 
1198 EOF
1199   setenv N `expr $N + 1`
1200 end
1201 
1202 foreach i (`cat projectionsForConvertedPhotons`)
1203   cat > temp$N.C <<EOF
1204 TCanvas *c$i = new TCanvas("c$i");
1205 c$i->SetFillColor(10);
1206 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1207 file_old->cd("$HISTOPATHNAME_Conversions");
1208 if ($i==convVtxRvsZBarrel)
1209 TH1D *tmp1$i= $i->ProjectionY();
1210 else if ($i==convVtxRvsZEndcap)
1211 TH1D *tmp1$i= $i->ProjectionX();
1212 Double_t nold=tmp1$i->GetEntries();
1213 Double_t mold=tmp1$i->GetMaximum();
1214 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1215 file_new->cd("$HISTOPATHNAME_Conversions");
1216 //TH1D *tmp2$i= $i->ProjectionY();
1217 if ($i==convVtxRvsZBarrel)
1218 TH1D *tmp2$i= $i->ProjectionY();
1219 else if ($i==convVtxRvsZEndcap)
1220 TH1D *tmp2$i= $i->ProjectionX();
1221 Double_t nnew=tmp2$i->GetEntries();
1222 Double_t mnew=tmp2$i->GetMaximum();
1223 tmp1$i->SetStats(0);
1224 tmp1$i->SetMinimum(0.);
1225 if ( mnew > mold) 
1226 tmp1$i->SetMaximum(mnew+mnew*0.2);
1227 else 
1228 tmp1$i->SetMaximum(mold+mold*0.2);
1229 tmp1$i->SetLineColor(kPink+8);
1230 tmp1$i->SetFillColor(kPink+8);
1231 tmp1$i->SetLineWidth(3);
1232 tmp1$i->Draw();
1233 tmp2$i->SetStats(0);
1234 tmp2$i->SetLineColor(kBlack);
1235 tmp2$i->SetLineWidth(3);
1236 tmp2$i->Scale(nold/nnew);
1237 tmp2$i->Draw("same");
1238 c$i->SaveAs("gifs/$i.gif");
1239 
1240 EOF
1241   setenv N `expr $N + 1`
1242 end
1243 
1244 
1245 
1246 ###if ($ANALYZERNAME == pfPhotonValidator)  goto skippingHistosForTracks
1247 foreach i (`cat scaledhistosForTracks`)
1248   cat > temp$N.C <<EOF
1249 TCanvas *c$i = new TCanvas("c$i");
1250 c$i->SetFillColor(10);
1251 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1252 file_new->cd("$HISTOPATHNAME_Conversions");
1253 Double_t mnew=$i->GetMaximum();
1254 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1255 file_old->cd("$HISTOPATHNAME_Conversions");
1256 Double_t mold=$i->GetMaximum();
1257 $i->SetStats(0);
1258 $i->SetMinimum(0.);
1259 if ( mnew > mold) 
1260 $i->SetMaximum(mnew+mnew*0.1);
1261 else 
1262 $i->SetMaximum(mold+mold*0.1);
1263 $i->SetLineColor(kPink+8);
1264 $i->SetFillColor(kPink+8);
1265 $i->SetLineWidth(3);
1266 $i->Draw();
1267 Double_t nold=$i->GetEntries();
1268 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1269 file_new->cd("$HISTOPATHNAME_Conversions");
1270 Double_t nnew=$i->GetEntries();
1271 $i->SetStats(0);
1272 $i->SetLineColor(kBlack);
1273 $i->SetMarkerColor(kBlack);
1274 $i->SetMarkerStyle(20);
1275 $i->SetMarkerSize(1);
1276 $i->SetLineWidth(1);
1277 $i->Scale(nold/nnew);
1278 $i->Draw("e1same");
1279 c$i->SaveAs("gifs/$i.gif");
1280 
1281 EOF
1282   setenv N `expr $N + 1`
1283 end
1284 
1285 
1286 
1287 foreach i (`cat unscaledhistosForTracks`)
1288   cat > temp$N.C <<EOF
1289 TCanvas *c$i = new TCanvas("c$i");
1290 c$i->SetFillColor(10);
1291 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1292 file_new->cd("$HISTOPATHNAME_Conversions");
1293 Double_t mnew=$i->GetMaximum();
1294 //file_old->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1295 file_old->cd("$HISTOPATHNAME_Conversions");
1296 Double_t mold=$i->GetMaximum();
1297 $i->SetStats(0);
1298 if ($i==pDCotTracksVsEtaAll ||  $i==pDCotTracksVsRAll ) {
1299 $i->SetMinimum(-0.05);
1300 $i->SetMaximum(0.05);
1301 } else if ( $i==pdzPVVsR ) { 
1302 $i->GetYaxis()->SetRangeUser(-3.,3.);
1303 } else {
1304 $i->SetMinimum(0.);
1305     if ( mnew > mold) 
1306     $i->SetMaximum(mnew+mnew*0.4);
1307     else 
1308     $i->SetMaximum(mold+mold*0.4);
1309 }
1310 
1311 $i->SetLineColor(kPink+8);
1312 $i->SetMarkerColor(kPink+8);
1313 $i->SetMarkerStyle(20);
1314 $i->SetMarkerSize(1);
1315 $i->SetLineWidth(1);
1316 $i->Draw();
1317 Double_t nold=$i->GetEntries();
1318 //file_new->cd("DQMData/EgammaV/${ANALYZERNAME}/ConversionInfo");
1319 file_new->cd("$HISTOPATHNAME_Conversions");
1320 Double_t nnew=$i->GetEntries();
1321 $i->SetStats(0);
1322 $i->SetLineColor(kBlack);
1323 $i->SetMarkerColor(kBlack);
1324 $i->SetMarkerStyle(20);
1325 $i->SetMarkerSize(1);
1326 $i->SetLineWidth(1);
1327 //$i->Scale(nold/nnew);
1328 $i->Draw("e1same");
1329 c$i->SaveAs("gifs/$i.gif");
1330 
1331 EOF
1332   setenv N `expr $N + 1`
1333 end
1334 
1335 #skippingHistosForTracks:
1336 #  echo "Skipping histograms which are not defined for pfPhotons"
1337 
1338 
1339 
1340 setenv NTOT `expr $N - 1`
1341 setenv N 1
1342 while ( $N <= $NTOT )
1343   cat temp$N.C >>& validation.C
1344   rm temp$N.C
1345   setenv N `expr $N + 1`
1346 end
1347 
1348 cat > end.C <<EOF
1349 }
1350 EOF
1351 cat end.C >>& validation.C
1352 rm end.C
1353 
1354 
1355 if ( $TYPE == PixelMatchGsfElectron ) then
1356   setenv ANALYZER PixelMatchGsfElectronAnalyzer
1357   setenv CFG read_gsfElectrons
1358 else if ( $TYPE == Photons  || $TYPE == GEDPhotons) then
1359   setenv ANALYZER ${ANALYZERNAME}
1360   setenv CFG PhotonValidator_cfg
1361 endif
1362 
1363 if  ( $PU == True &&  $FASTSIM == False ) then
1364 setenv SAMPLE ${SAMPLE}PU
1365 else if ( $PU == False && $FASTSIM == True) then
1366 setenv SAMPLE ${SAMPLE}FastSim
1367 else if ( $SAMPLE == H130GGgluonfusion && $UPGRADE == True ) then
1368 setenv SAMPLE ${SAMPLE}_${LHCENERGY}TeV
1369 else if ( $SAMPLE == H130GGgluonfusion && $UPGRADE == True &&  $PU == True ) then
1370 setenv SAMPLE ${SAMPLE}_${LHCENERGY}TeV_PU${PUlevel}
1371 endif
1372 
1373 
1374 
1375 if (-e validation.html) rm validation.html
1376 if (-e validationPlotsTemplate.html) rm validationPlotsTemplate.html
1377 cp ${CURRENTDIR}/validationPlotsTemplate.html validationPlotsTemplate.html
1378 touch validation.html
1379 cat > begin.html <<EOF
1380 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
1381 <html>
1382 <head>
1383 <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
1384 <title>$NEWRELEASE vs $OLDRELEASE $TYPE validation</title>
1385 </head>
1386 
1387 <h1>$NEWRELEASE vs $OLDRELEASE $TYPE validation
1388 <br>
1389  $SAMPLE 
1390 </h1>
1391 
1392 <p>The following plots were made using <a href="http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/Validation/RecoEgamma/src/$ANALYZER.cc">Validation/RecoEgamma/src/$ANALYZER</a>, 
1393 using <a href="http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/Validation/RecoEgamma/test/$CFG.py">Validation/RecoEgamma/test/$CFG.py</a>
1394 <p>The script used to make the plots is <a href="validation.C">here</a>.
1395 <br>
1396 In all plots below, $OLDRELEASE is in purple , $NEWRELEASE in black. 
1397 <br>
1398 Click on the plots to see them enlarged.
1399 <br>
1400 Responsible: N. Marinelli
1401 <br>
1402 <br>
1403 
1404 
1405 
1406 EOF
1407 cat begin.html >>& validation.html
1408 rm begin.html
1409 cat  validationPlotsTemplate.html >>& validation.html
1410 rm  validationPlotsTemplate.html 
1411 
1412 rm scaledhistosForPhotons
1413 rm scaledhistosGEDspecific
1414 rm scaledhistosGEDspecificLogScale
1415 rm unscaledhistosForPhotons
1416 rm scaledhistosForConvertedPhotons
1417 rm scaledhistosForConvertedPhotonsLogScale
1418 rm unscaledhistosForConvertedPhotons
1419 rm efficiencyForPhotons
1420 rm efficiencyForConvertedPhotons
1421 rm fakeRateForConvertedPhotons
1422 rm 2dhistosForConvertedPhotons
1423 rm projectionsForConvertedPhotons
1424 rm scaledhistosForTracks
1425 rm unscaledhistosForTracks
1426 rm scaledhistosForPhotonsLogScale
1427 
1428 #echo "Now paste the following into your terminal window:"
1429 #echo ""
1430 echo "cd $OUTDIR"
1431 #echo " root -b"
1432 #echo ".x validation.C"
1433 #echo ".q"
1434 #echo "cd $CURRENTDIR"
1435 #echo ""
1436 
1437 
1438 root -b -l -q validation.C
1439 cd $CURRENTDIR
1440 echo "Then you can view your validation plots here:"
1441 echo "http://cmsdoc.cern.ch/Physics/egamma/www/$OUTPATH/validation.html"