CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Attributes
SiStripCalibLorentzAngle Class Reference

#include <SiStripCalibLorentzAngle.h>

Inheritance diagram for SiStripCalibLorentzAngle:
ConditionDBWriter< SiStripLorentzAngle > edm::EDAnalyzer

Public Member Functions

void algoBeginJob (const edm::EventSetup &)
 
SiStripLorentzAnglegetNewObject ()
 
 SiStripCalibLorentzAngle (const edm::ParameterSet &conf)
 
virtual ~SiStripCalibLorentzAngle ()
 
- Public Member Functions inherited from ConditionDBWriter< SiStripLorentzAngle >
 ConditionDBWriter (const edm::ParameterSet &iConfig)
 
virtual ~ConditionDBWriter ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Types

typedef std::map< std::string,
TProfile * > 
ProfileMap
 
typedef std::map< std::string,
TH1D * > 
TH1Dmap
 
typedef std::map< std::string,
TH2D * > 
TH2Dmap
 

Private Attributes

float AsymmParam
 
int badFit
 
bool CalibByMC
 
edm::ParameterSet conf_
 
std::map< uint32_t, float > detid_la
 
edm::ESHandle< TrackerGeometryestracker
 
TDirectory * FirstIT_GoodFit_Histos
 
TF1 * fitfunc
 
TF1 * fitfunc2IT
 
TF1 * FitFunction
 
TF1 * FitFunction2IT
 
float geta
 
float globalX
 
float globalY
 
float globalZ
 
int goodFit
 
int goodFit1IT
 
float gphi
 
const GlobalPoint gposition
 
float gR
 
float gz
 
float hallMobility
 
TFile * hFile
 
float histoEntries
 
std::vector< MonitorElement * > histolist
 
int Layer
 
bool LayerDB
 
TDirectory * LorentzAngle_Plots
 
edm::ESHandle< MagneticFieldmagfield_
 
float mean_TIB1
 
float mean_TIB2
 
float mean_TIB3
 
float mean_TIB4
 
float mean_TOB1
 
float mean_TOB2
 
float mean_TOB3
 
float mean_TOB4
 
float mean_TOB5
 
float mean_TOB6
 
float meanMobility_TIB
 
float meanMobility_TOB
 
TTree * ModuleTree
 
int MonoStereo
 
float muH
 
TDirectory * MuH
 
TDirectory * MuH_vs_Eta
 
TDirectory * MuH_vs_Phi
 
ProfileMap Profiles
 
TDirectory * Rootple
 
TDirectory * SecondIT_BadFit_Histos
 
TDirectory * SecondIT_GoodFit_Histos
 
TH1Dmap TH1Ds
 
TH2Dmap TH2Ds
 
float theBfield
 
int TIB
 
TDirectory * TIB_1IT_GoodFit
 
TDirectory * TIB_2IT_BadFit
 
TDirectory * TIB_2IT_GoodFit
 
TDirectory * TIB_Eta
 
TGraphErrors * TIB_graph
 
TDirectory * TIB_MuH
 
TDirectory * TIB_Phi
 
int TOB
 
TDirectory * TOB_1IT_GoodFit
 
TDirectory * TOB_2IT_BadFit
 
TDirectory * TOB_2IT_GoodFit
 
TDirectory * TOB_Eta
 
TGraphErrors * TOB_graph
 
TDirectory * TOB_MuH
 
TDirectory * TOB_Phi
 
const TrackerGeometrytracker
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from ConditionDBWriter< SiStripLorentzAngle >
void setDoStore (const bool doStore)
 When set to false the payload will not be written to the db. More...
 
void storeOnDbNow ()
 
cond::Time_t timeOfLastIOV ()
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 36 of file SiStripCalibLorentzAngle.h.

Member Typedef Documentation

typedef std::map<std::string , TProfile*> SiStripCalibLorentzAngle::ProfileMap
private

Definition at line 55 of file SiStripCalibLorentzAngle.h.

typedef std::map<std::string , TH1D*> SiStripCalibLorentzAngle::TH1Dmap
private

Definition at line 57 of file SiStripCalibLorentzAngle.h.

typedef std::map<std::string , TH2D*> SiStripCalibLorentzAngle::TH2Dmap
private

Definition at line 59 of file SiStripCalibLorentzAngle.h.

Constructor & Destructor Documentation

SiStripCalibLorentzAngle::SiStripCalibLorentzAngle ( const edm::ParameterSet conf)
explicit
SiStripCalibLorentzAngle::~SiStripCalibLorentzAngle ( )
virtual

Definition at line 757 of file SiStripCalibLorentzAngle.cc.

References hFile.

757  {
758  delete hFile;
759 }

Member Function Documentation

void SiStripCalibLorentzAngle::algoBeginJob ( const edm::EventSetup c)
virtual

Reimplemented from ConditionDBWriter< SiStripLorentzAngle >.

Definition at line 24 of file SiStripCalibLorentzAngle.cc.

References badFit, BoundSurface::bounds(), CalibByMC, conf_, dbe_, cond::rpcobgas::detid, detid_la, estracker, PV3DBase< T, PVType, FrameType >::eta(), extract(), FirstIT_GoodFit_Histos, fitfunc, fitfunc2IT, FitFunction, FitFunction2IT, edm::EventSetup::get(), geta, DQMStore::getAllContents(), SiStripHistoId::getComponentId(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), globalX, globalY, globalZ, goodFit, goodFit1IT, gphi, gposition, gR, gz, hFile, interpolateCardsSimple::histo, histoEntries, histolist, errorMatrix2Lands_multiChannel::id, TrackerGeometry::idToDetUnit(), TOBDetId::layer(), TIBDetId::layer(), Layer, LayerDB, StripTopology::localPitch(), LorentzAngle_Plots, PV3DBase< T, PVType, FrameType >::mag(), magfield_, mean_TIB1, mean_TIB2, mean_TIB3, mean_TIB4, mean_TOB1, mean_TOB2, mean_TOB3, mean_TOB4, mean_TOB5, mean_TOB6, meanMobility_TIB, meanMobility_TOB, ModuleTree, MonoStereo, muH, MuH, MuH_vs_Eta, MuH_vs_Phi, mergeVDriftHistosByStation::name, DQMStore::open(), cppFunctionSkipper::operator, AlCaHLTBitMon_ParallelJobs::p, PV3DBase< T, PVType, FrameType >::phi(), GloballyPositioned< T >::position(), funct::pow(), Profiles, Rootple, SecondIT_BadFit_Histos, SecondIT_GoodFit_Histos, GeomDet::specificSurface(), mathSSE::sqrt(), StripSubdetector::stereo(), DetId::subdetId(), GeomDet::surface(), TH1Ds, TH2Ds, theBfield, Bounds::thickness(), StripSubdetector::TIB, TIB, TIB_1IT_GoodFit, TIB_2IT_BadFit, TIB_2IT_GoodFit, TIB_Eta, TIB_graph, TIB_MuH, TIB_Phi, StripSubdetector::TOB, TOB, TOB_1IT_GoodFit, TOB_2IT_BadFit, TOB_2IT_GoodFit, TOB_Eta, TOB_graph, TOB_MuH, TOB_Phi, toLocal(), GeomDetUnit::topology(), tracker, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

24  {
25 
27  tracker=&(*estracker);
28 
29  //get magnetic field and geometry from ES
31  c.get<IdealMagneticFieldRecord>().get(magfield_);
32 
33  edm::ESHandle<SiStripLorentzAngle> SiStripLorentzAngle_;
34  c.get<SiStripLorentzAngleRcd>().get(SiStripLorentzAngle_);
35  detid_la= SiStripLorentzAngle_->getLorentzAngles();
36 
38 
39  std::string inputFile_ =conf_.getUntrackedParameter<std::string>("fileName", "LAProfiles.root");
40  std::string LAreport_ =conf_.getUntrackedParameter<std::string>("LA_Report", "LA_Report.txt");
41  std::string NoEntriesHisto_ =conf_.getUntrackedParameter<std::string>("NoEntriesHisto", "NoEntriesHisto.txt");
42  std::string Dir_Name_ =conf_.getUntrackedParameter<std::string>("Dir_Name", "SiStrip");
43 
44  LayerDB = conf_.getUntrackedParameter<bool>("LayerDB", false);
45 
46  CalibByMC = conf_.getUntrackedParameter<bool>("CalibByMC", false);
47 
48  dbe_->open(inputFile_);
49 
50  // use SistripHistoId for producing histogram id (and title)
51  SiStripHistoId hidmanager;
52 
53  edm::LogInfo("SiStripCalibLorentzAngle")<<"### DIR-NAME = "<<Dir_Name_;
54  histolist= dbe_->getAllContents(Dir_Name_);
55  std::vector<MonitorElement*>::iterator histo;
56 
57  hFile = new TFile (conf_.getUntrackedParameter<std::string>("out_fileName").c_str(), "RECREATE" );
58 
59  LorentzAngle_Plots = hFile->mkdir("LorentzAngle_Plots");
60  Rootple = LorentzAngle_Plots->mkdir("Rootple");
61  MuH = LorentzAngle_Plots->mkdir("MuH");
62  TIB_MuH = MuH->mkdir("TIB_MuH");
63  TOB_MuH = MuH->mkdir("TOB_MuH");
64  MuH_vs_Phi = LorentzAngle_Plots->mkdir("MuH_vs_Phi");
65  TIB_Phi = MuH_vs_Phi->mkdir("TIB_Phi");
66  TOB_Phi = MuH_vs_Phi->mkdir("TOB_Phi");
67  MuH_vs_Eta = LorentzAngle_Plots->mkdir("MuH_vs_Eta");
68  TIB_Eta = MuH_vs_Eta->mkdir("TIB_Eta");
69  TOB_Eta = MuH_vs_Eta->mkdir("TOB_Eta");
70  FirstIT_GoodFit_Histos = LorentzAngle_Plots->mkdir("1IT_GoodFit_Histos");
71  TIB_1IT_GoodFit = FirstIT_GoodFit_Histos->mkdir("TIB_1IT_GoodFit");
72  TOB_1IT_GoodFit = FirstIT_GoodFit_Histos->mkdir("TOB_1IT_GoodFit");
73  SecondIT_GoodFit_Histos = LorentzAngle_Plots->mkdir("2IT_GoodFit_Histos");
74  TIB_2IT_GoodFit = SecondIT_GoodFit_Histos->mkdir("TIB_2IT_GoodFit");
75  TOB_2IT_GoodFit = SecondIT_GoodFit_Histos->mkdir("TOB_2IT_GoodFit");
76  SecondIT_BadFit_Histos = LorentzAngle_Plots->mkdir("2IT_BadFit_Histos");
77  TIB_2IT_BadFit = SecondIT_BadFit_Histos->mkdir("TIB_2IT_BadFit");
78  TOB_2IT_BadFit = SecondIT_BadFit_Histos->mkdir("TOB_2IT_BadFit");
79 
80  TH1Ds["LA_TIB"] = new TH1D("TanLAPerTesla TIB","TanLAPerTesla TIB",1000,-0.5,0.5);
81  TH1Ds["LA_TIB"]->SetDirectory(MuH);
82  TH1Ds["LA_TOB"] = new TH1D("TanLAPerTesla TOB","TanLAPerTesla TOB",1000,-0.5,0.5);
83  TH1Ds["LA_TOB"]->SetDirectory(MuH);
84  TH1Ds["LA_err_TIB"] = new TH1D("TanLAPerTesla Error TIB","TanLAPerTesla Error TIB",1000,0,1);
85  TH1Ds["LA_err_TIB"]->SetDirectory(MuH);
86  TH1Ds["LA_err_TOB"] = new TH1D("TanLAPerTesla Error TOB","TanLAPerTesla Error TOB",1000,0,1);
87  TH1Ds["LA_err_TOB"]->SetDirectory(MuH);
88  TH1Ds["LA_chi2norm_TIB"] = new TH1D("TanLAPerTesla Chi2norm TIB","TanLAPerTesla Chi2norm TIB",2000,0,10);
89  TH1Ds["LA_chi2norm_TIB"]->SetDirectory(MuH);
90  TH1Ds["LA_chi2norm_TOB"] = new TH1D("TanLAPerTesla Chi2norm TOB","TanLAPerTesla Chi2norm TOB",2000,0,10);
91  TH1Ds["LA_chi2norm_TOB"]->SetDirectory(MuH);
92  TH1Ds["MagneticField"] = new TH1D("MagneticField","MagneticField",500,0,5);
93  TH1Ds["MagneticField"]->SetDirectory(MuH);
94 
95  TH2Ds["LA_TIB_graph"] = new TH2D("TanLAPerTesla TIB Layers","TanLAPerTesla TIB Layers",60,0,5,1000,-0.3,0.3);
96  TH2Ds["LA_TIB_graph"]->SetDirectory(MuH);
97  TH2Ds["LA_TIB_graph"]->SetNdivisions(6);
98  TH2Ds["LA_TOB_graph"] = new TH2D("TanLAPerTesla TOB Layers","TanLAPerTesla TOB Layers",80,0,7,1000,-0.3,0.3);
99  TH2Ds["LA_TOB_graph"]->SetDirectory(MuH);
100  TH2Ds["LA_TOB_graph"]->SetNdivisions(8);
101 
102  TH1Ds["LA_TIB_1"] = new TH1D("TanLAPerTesla TIB1","TanLAPerTesla TIB1",2000,-0.5,0.5);
103  TH1Ds["LA_TIB_1"]->SetDirectory(TIB_MuH);
104  TH1Ds["LA_TIB_1_mono"] = new TH1D("TanLAPerTesla TIB1 MONO","TanLAPerTesla TIB1 MONO",2000,-0.5,0.5);
105  TH1Ds["LA_TIB_1_mono"]->SetDirectory(TIB_MuH);
106  TH1Ds["LA_TIB_1_stereo"] = new TH1D("TanLAPerTesla TIB1 STEREO","TanLAPerTesla TIB1 STEREO",2000,-0.5,0.5);
107  TH1Ds["LA_TIB_1_stereo"]->SetDirectory(TIB_MuH);
108  TH1Ds["LA_TIB_2"] = new TH1D("TanLAPerTesla TIB2","TanLAPerTesla TIB2",2000,-0.5,0.5);
109  TH1Ds["LA_TIB_2"]->SetDirectory(TIB_MuH);
110  TH1Ds["LA_TIB_2_mono"] = new TH1D("TanLAPerTesla TIB2 MONO","TanLAPerTesla TIB2 MONO",2000,-0.5,0.5);
111  TH1Ds["LA_TIB_2_mono"]->SetDirectory(TIB_MuH);
112  TH1Ds["LA_TIB_2_stereo"] = new TH1D("TanLAPerTesla TIB2 STEREO","TanLAPerTesla TIB2 STEREO",2000,-0.5,0.5);
113  TH1Ds["LA_TIB_2_stereo"]->SetDirectory(TIB_MuH);
114  TH1Ds["LA_TIB_3"] = new TH1D("TanLAPerTesla_TIB 3","TanLAPerTesla TIB3",2000,-0.5,0.5);
115  TH1Ds["LA_TIB_3"]->SetDirectory(TIB_MuH);
116  TH1Ds["LA_TIB_4"] = new TH1D("TanLAPerTesla_TIB 4","TanLAPerTesla TIB4",2000,-0.5,0.5);
117  TH1Ds["LA_TIB_4"]->SetDirectory(TIB_MuH);
118 
119  TH1Ds["LA_TOB_1"] = new TH1D("TanLAPerTesla TOB1","TanLAPerTesla TOB1",2000,-0.5,0.5);
120  TH1Ds["LA_TOB_1"]->SetDirectory(TOB_MuH);
121  TH1Ds["LA_TOB_1_mono"] = new TH1D("TanLAPerTesla TOB1 MONO","TanLAPerTesla TOB1 MONO",2000,-0.5,0.5);
122  TH1Ds["LA_TOB_1_mono"]->SetDirectory(TOB_MuH);
123  TH1Ds["LA_TOB_1_stereo"] = new TH1D("TanLAPerTesla TOB1 STEREO","TanLAPerTesla TOB1 STEREO",2000,-0.5,0.5);
124  TH1Ds["LA_TOB_1_stereo"]->SetDirectory(TOB_MuH);
125  TH1Ds["LA_TOB_2"] = new TH1D("TanLAPerTesla TOB2","TanLAPerTesla TOB2",2000,-0.5,0.5);
126  TH1Ds["LA_TOB_2"]->SetDirectory(TOB_MuH);
127  TH1Ds["LA_TOB_2_mono"] = new TH1D("TanLAPerTesla TOB2 MONO","TanLAPerTesla TOB2 MONO",2000,-0.5,0.5);
128  TH1Ds["LA_TOB_2_mono"]->SetDirectory(TOB_MuH);
129  TH1Ds["LA_TOB_2_stereo"] = new TH1D("TanLAPerTesla TOB2 STEREO","TanLAPerTesla TOB2 STEREO",2000,-0.5,0.5);
130  TH1Ds["LA_TOB_2_stereo"]->SetDirectory(TOB_MuH);
131  TH1Ds["LA_TOB_3"] = new TH1D("TanLAPerTesla TOB3","TanLAPerTesla TOB3",2000,-0.5,0.5);
132  TH1Ds["LA_TOB_3"]->SetDirectory(TOB_MuH);
133  TH1Ds["LA_TOB_4"] = new TH1D("TanLAPerTesla TOB4","TanLAPerTesla TOB4",2000,-0.5,0.5);
134  TH1Ds["LA_TOB_4"]->SetDirectory(TOB_MuH);
135  TH1Ds["LA_TOB_5"] = new TH1D("TanLAPerTesla TOB5","TanLAPerTesla TOB5",2000,-0.5,0.5);
136  TH1Ds["LA_TOB_5"]->SetDirectory(TOB_MuH);
137  TH1Ds["LA_TOB_6"] = new TH1D("TanLAPerTesla TOB6","TanLAPerTesla TOB6",2000,-0.5,0.5);
138  TH1Ds["LA_TOB_6"]->SetDirectory(TOB_MuH);
139 
140  TH2Ds["LA_phi_TIB"] = new TH2D("TanLAPerTesla vs Phi TIB","TanLAPerTesla vs Phi TIB",800,-4,4,600,-0.3,0.3);
141  TH2Ds["LA_phi_TIB"]->SetDirectory(MuH_vs_Phi);
142  TH2Ds["LA_phi_TOB"] = new TH2D("TanLAPerTesla vs Phi TOB","TanLAPerTesla vs Phi TOB",800,-4,4,600,-0.3,0.3);
143  TH2Ds["LA_phi_TOB"]->SetDirectory(MuH_vs_Phi);
144 
145  TH2Ds["LA_phi_TIB1"] = new TH2D("TanLAPerTesla vs Phi TIB1","TanLAPerTesla vs Phi TIB1",800,-4,4,600,-0.3,0.3);
146  TH2Ds["LA_phi_TIB1"]->SetDirectory(TIB_Phi);
147  TH2Ds["LA_phi_TIB1_mono"] = new TH2D("TanLAPerTesla vs Phi TIB1 MONO","TanLAPerTesla vs Phi TIB1 MONO",800,-4,4,600,-0.3,0.3);
148  TH2Ds["LA_phi_TIB1_mono"]->SetDirectory(TIB_Phi);
149  TH2Ds["LA_phi_TIB1_stereo"] = new TH2D("TanLAPerTesla vs Phi TIB1 STEREO","TanLAPerTesla vs Phi TIB1 STEREO",800,-4,4,600,-0.3,0.3);
150  TH2Ds["LA_phi_TIB1_stereo"]->SetDirectory(TIB_Phi);
151  TH2Ds["LA_phi_TIB2"] = new TH2D("TanLAPerTesla vs Phi TIB2","TanLAPerTesla vs Phi TIB2",800,-4,4,600,-0.3,0.3);
152  TH2Ds["LA_phi_TIB2"]->SetDirectory(TIB_Phi);
153  TH2Ds["LA_phi_TIB2_mono"] = new TH2D("TanLAPerTesla vs Phi TIB2 MONO","TanLAPerTesla vs Phi TIB2 MONO",800,-4,4,600,-0.3,0.3);
154  TH2Ds["LA_phi_TIB2_mono"]->SetDirectory(TIB_Phi);
155  TH2Ds["LA_phi_TIB2_stereo"] = new TH2D("TanLAPerTesla vs Phi TIB2 STEREO","TanLAPerTesla vs Phi TIB2 STEREO",800,-4,4,600,-0.3,0.3);
156  TH2Ds["LA_phi_TIB2_stereo"]->SetDirectory(TIB_Phi);
157  TH2Ds["LA_phi_TIB3"] = new TH2D("TanLAPerTesla vs Phi TIB3","TanLAPerTesla vs Phi TIB3",800,-4,4,600,-0.3,0.3);
158  TH2Ds["LA_phi_TIB3"]->SetDirectory(TIB_Phi);
159  TH2Ds["LA_phi_TIB4"] = new TH2D("TanLAPerTesla vs Phi TIB4","TanLAPerTesla vs Phi TIB4",800,-4,4,600,-0.3,0.3);
160  TH2Ds["LA_phi_TIB4"]->SetDirectory(TIB_Phi);
161 
162  TH2Ds["LA_phi_TOB1"] = new TH2D("TanLAPerTesla vs Phi TOB1","TanLAPerTesla vs Phi TOB1",800,-4,4,600,-0.3,0.3);
163  TH2Ds["LA_phi_TOB1"]->SetDirectory(TOB_Phi);
164  TH2Ds["LA_phi_TOB1_mono"] = new TH2D("TanLAPerTesla vs Phi TOB1 MONO","TanLAPerTesla vs Phi TOB1 MONO",800,-4,4,600,-0.3,0.3);
165  TH2Ds["LA_phi_TOB1_mono"]->SetDirectory(TOB_Phi);
166  TH2Ds["LA_phi_TOB1_stereo"] = new TH2D("TanLAPerTesla vs Phi TOB1 STEREO","TanLAPerTesla vs Phi TOB1 STEREO",800,-4,4,600,-0.3,0.3);
167  TH2Ds["LA_phi_TOB1_stereo"]->SetDirectory(TOB_Phi);
168  TH2Ds["LA_phi_TOB2"] = new TH2D("TanLAPerTesla vs Phi TOB2","TanLAPerTesla vs Phi TOB2",800,-4,4,600,-0.3,0.3);
169  TH2Ds["LA_phi_TOB2"]->SetDirectory(TOB_Phi);
170  TH2Ds["LA_phi_TOB2_mono"] = new TH2D("TanLAPerTesla vs Phi TOB2 MONO","TanLAPerTesla vs Phi TOB2 MONO",800,-4,4,600,-0.3,0.3);
171  TH2Ds["LA_phi_TOB2_mono"]->SetDirectory(TOB_Phi);
172  TH2Ds["LA_phi_TOB2_stereo"] = new TH2D("TanLAPerTesla vs Phi TOB2 STEREO","TanLAPerTesla vs Phi TOB2 STEREO",800,-4,4,600,-0.3,0.3);
173  TH2Ds["LA_phi_TOB2_stereo"]->SetDirectory(TOB_Phi);
174  TH2Ds["LA_phi_TOB3"] = new TH2D("TanLAPerTesla vs Phi TOB3","TanLAPerTesla vs Phi TOB3",800,-4,4,600,-0.3,0.3);
175  TH2Ds["LA_phi_TOB3"]->SetDirectory(TOB_Phi);
176  TH2Ds["LA_phi_TOB4"] = new TH2D("TanLAPerTesla vs Phi TOB4","TanLAPerTesla vs Phi TOB4",800,-4,4,600,-0.3,0.3);
177  TH2Ds["LA_phi_TOB4"]->SetDirectory(TOB_Phi);
178  TH2Ds["LA_phi_TOB5"] = new TH2D("TanLAPerTesla vs Phi TOB5","TanLAPerTesla vs Phi TOB5",800,-4,4,600,-0.3,0.3);
179  TH2Ds["LA_phi_TOB5"]->SetDirectory(TOB_Phi);
180  TH2Ds["LA_phi_TOB6"] = new TH2D("TanLAPerTesla vs Phi TOB6","TanLAPerTesla vs Phi TOB6",800,-4,4,600,-0.3,0.3);
181  TH2Ds["LA_phi_TOB6"]->SetDirectory(TOB_Phi);
182 
183  TH2Ds["LA_eta_TIB"] = new TH2D("TanLAPerTesla vs Eta TIB","TanLAPerTesla vs Eta TIB",800,-2.6,2.6,600,-0.3,0.3);
184  TH2Ds["LA_eta_TIB"]->SetDirectory(MuH_vs_Eta);
185  TH2Ds["LA_eta_TOB"] = new TH2D("TanLAPerTesla vs Eta TOB","TanLAPerTesla vs Eta TOB",800,-2.6,2.6,600,-0.3,0.3);
186  TH2Ds["LA_eta_TOB"]->SetDirectory(MuH_vs_Eta);
187 
188  TH2Ds["LA_eta_TIB1"] = new TH2D("TanLAPerTesla vs Eta TIB1","TanLAPerTesla vs Eta TIB1",800,-2.6,2.6,600,-0.3,0.3);
189  TH2Ds["LA_eta_TIB1"]->SetDirectory(TIB_Eta);
190  TH2Ds["LA_eta_TIB1_mono"] = new TH2D("TanLAPerTesla vs Eta TIB1 MONO","TanLAPerTesla vs Eta TIB1 MONO",800,-2.6,2.6,600,-0.3,0.3);
191  TH2Ds["LA_eta_TIB1_mono"]->SetDirectory(TIB_Eta);
192  TH2Ds["LA_eta_TIB1_stereo"] = new TH2D("TanLAPerTesla vs Eta TIB1 STEREO","TanLAPerTesla vs Eta TIB1 STEREO",800,-2.6,2.6,600,-0.3,0.3);
193  TH2Ds["LA_eta_TIB1_stereo"]->SetDirectory(TIB_Eta);
194  TH2Ds["LA_eta_TIB2"] = new TH2D("TanLAPerTesla vs Eta TIB2","TanLAPerTesla vs Eta TIB2",800,-2.6,2.6,600,-0.3,0.3);
195  TH2Ds["LA_eta_TIB2"]->SetDirectory(TIB_Eta);
196  TH2Ds["LA_eta_TIB2_mono"] = new TH2D("TanLAPerTesla vs Eta TIB2 MONO","TanLAPerTesla vs Eta TIB2 MONO",800,-2.6,2.6,600,-0.3,0.3);
197  TH2Ds["LA_eta_TIB2_mono"]->SetDirectory(TIB_Eta);
198  TH2Ds["LA_eta_TIB2_stereo"] = new TH2D("TanLAPerTesla vs Eta TIB2 STEREO","TanLAPerTesla vs Eta TIB2 STEREO",800,-2.6,2.6,600,-0.3,0.3);
199  TH2Ds["LA_eta_TIB2_stereo"]->SetDirectory(TIB_Eta);
200  TH2Ds["LA_eta_TIB3"] = new TH2D("TanLAPerTesla vs Eta TIB3","TanLAPerTesla vs Eta TIB3",800,-2.6,2.6,600,-0.3,0.3);
201  TH2Ds["LA_eta_TIB3"]->SetDirectory(TIB_Eta);
202  TH2Ds["LA_eta_TIB4"] = new TH2D("TanLAPerTesla vs Eta TIB4","TanLAPerTesla vs Eta TIB4",800,-2.6,2.6,600,-0.3,0.3);
203  TH2Ds["LA_eta_TIB4"]->SetDirectory(TIB_Eta);
204 
205  TH2Ds["LA_eta_TOB1"] = new TH2D("TanLAPerTesla vs Eta TOB1","TanLAPerTesla vs Eta TOB1",800,-2.6,2.6,600,-0.3,0.3);
206  TH2Ds["LA_eta_TOB1"]->SetDirectory(TIB_Eta);
207  TH2Ds["LA_eta_TOB1_mono"] = new TH2D("TanLAPerTesla vs Eta TOB1 MONO","TanLAPerTesla vs Eta TOB1 MONO",800,-2.6,2.6,600,-0.3,0.3);
208  TH2Ds["LA_eta_TOB1_mono"]->SetDirectory(TIB_Eta);
209  TH2Ds["LA_eta_TOB1_stereo"] = new TH2D("TanLAPerTesla vs Eta TOB1 STEREO","TanLAPerTesla vs Eta TOB1 STEREO",800,-2.6,2.6,600,-0.3,0.3);
210  TH2Ds["LA_eta_TOB1_stereo"]->SetDirectory(TIB_Eta);
211  TH2Ds["LA_eta_TOB2"] = new TH2D("TanLAPerTesla vs Eta TOB2","TanLAPerTesla vs Eta TOB2",800,-2.6,2.6,600,-0.3,0.3);
212  TH2Ds["LA_eta_TOB2"]->SetDirectory(TIB_Eta);
213  TH2Ds["LA_eta_TOB2_mono"] = new TH2D("TanLAPerTesla vs Eta TOB2 MONO","TanLAPerTesla vs Eta TOB2 MONO",800,-2.6,2.6,600,-0.3,0.3);
214  TH2Ds["LA_eta_TOB2_mono"]->SetDirectory(TIB_Eta);
215  TH2Ds["LA_eta_TOB2_stereo"] = new TH2D("TanLAPerTesla vs Eta TOB2 STEREO","TanLAPerTesla vs Eta TOB2 STEREO",800,-2.6,2.6,600,-0.3,0.3);
216  TH2Ds["LA_eta_TOB2_stereo"]->SetDirectory(TIB_Eta);
217  TH2Ds["LA_eta_TOB3"] = new TH2D("TanLAPerTesla vs Eta TOB3","TanLAPerTesla vs Eta TOB3",800,-2.6,2.6,600,-0.3,0.3);
218  TH2Ds["LA_eta_TOB3"]->SetDirectory(TIB_Eta);
219  TH2Ds["LA_eta_TOB4"] = new TH2D("TanLAPerTesla vs Eta TOB4","TanLAPerTesla vs Eta TOB4",800,-2.6,2.6,600,-0.3,0.3);
220  TH2Ds["LA_eta_TOB4"]->SetDirectory(TIB_Eta);
221  TH2Ds["LA_eta_TOB5"] = new TH2D("TanLAPerTesla vs Eta TOB5","TanLAPerTesla vs Eta TOB5",800,-2.6,2.6,600,-0.3,0.3);
222  TH2Ds["LA_eta_TOB5"]->SetDirectory(TIB_Eta);
223  TH2Ds["LA_eta_TOB6"] = new TH2D("TanLAPerTesla vs Eta TOB6","TanLAPerTesla vs Eta TOB6",800,-2.6,2.6,600,-0.3,0.3);
224  TH2Ds["LA_eta_TOB6"]->SetDirectory(TIB_Eta);
225 
226  ModuleTree = new TTree("ModuleTree", "ModuleTree");
227  ModuleTree->Branch("histoEntries", &histoEntries, "histoEntries/F");
228  ModuleTree->Branch("globalX", &globalX, "globalX/F");
229  ModuleTree->Branch("globalY", &globalY, "globalY/F");
230  ModuleTree->Branch("globalZ", &globalZ, "globalZ/F");
231  ModuleTree->Branch("gphi", &gphi, "gphi/F");
232  ModuleTree->Branch("geta", &geta, "geta/F");
233  ModuleTree->Branch("gR", &gR, "gR/F");
234  ModuleTree->Branch("goodFit", &goodFit, "goodFit/I");
235  ModuleTree->Branch("goodFit1IT", &goodFit1IT, "goodFit1IT/I");
236  ModuleTree->Branch("badFit", &badFit, "badFit/I");
237  ModuleTree->Branch("TIB", &TIB, "TIB/I");
238  ModuleTree->Branch("TOB", &TOB, "TOB/I");
239  ModuleTree->Branch("Layer", &Layer, "Layer/I");
240  ModuleTree->Branch("MonoStereo", &MonoStereo, "MonoStereo/I");
241  ModuleTree->Branch("theBfield", &theBfield, "theBfield/F");
242  ModuleTree->Branch("muH", &muH, "muH/F");
243 
244  ModuleTree->SetDirectory(Rootple);
245 
246  int histocounter = 0;
247  int NotEnoughEntries = 0;
248  int ZeroEntries = 0;
249  int GoodFit = 0;
250  int FirstIT_goodfit = 0;
251  int FirstIT_badfit = 0;
252  int SecondIT_badfit = 0;
253  int SecondIT_goodfit = 0;
254  int no_mod_histo = 0;
255  float chi2norm = 0;
256  LocalPoint p =LocalPoint(0,0,0);
257 
258  double ModuleRangeMin=conf_.getParameter<double>("ModuleFitXMin");
259  double ModuleRangeMax=conf_.getParameter<double>("ModuleFitXMax");
260  double ModuleRangeMin2IT=conf_.getParameter<double>("ModuleFit2ITXMin");
261  double ModuleRangeMax2IT=conf_.getParameter<double>("ModuleFit2ITXMax");
262  double FitCuts_Entries=conf_.getParameter<double>("FitCuts_Entries");
263  double FitCuts_p0=conf_.getParameter<double>("FitCuts_p0");
264  double FitCuts_p1=conf_.getParameter<double>("FitCuts_p1");
265  double FitCuts_p2=conf_.getParameter<double>("FitCuts_p2");
266  double FitCuts_chi2=conf_.getParameter<double>("FitCuts_chi2");
267  double FitCuts_ParErr_p0=conf_.getParameter<double>("FitCuts_ParErr_p0");
268  double p0_guess=conf_.getParameter<double>("p0_guess");
269  double p1_guess=conf_.getParameter<double>("p1_guess");
270  double p2_guess=conf_.getParameter<double>("p2_guess");
271 
272  double TIB1calib = 1.;
273  double TIB2calib = 1.;
274  double TIB3calib = 1.;
275  double TIB4calib = 1.;
276  double TOB1calib = 1.;
277  double TOB2calib = 1.;
278  double TOB3calib = 1.;
279  double TOB4calib = 1.;
280  double TOB5calib = 1.;
281  double TOB6calib = 1.;
282 
283  if(CalibByMC==true){
284  //Calibration factors evaluated by using MC analysis
285  TIB1calib=conf_.getParameter<double>("TIB1calib");
286  TIB2calib=conf_.getParameter<double>("TIB2calib");
287  TIB3calib=conf_.getParameter<double>("TIB3calib");
288  TIB4calib=conf_.getParameter<double>("TIB4calib");
289  TOB1calib=conf_.getParameter<double>("TOB1calib");
290  TOB2calib=conf_.getParameter<double>("TOB2calib");
291  TOB3calib=conf_.getParameter<double>("TOB3calib");
292  TOB4calib=conf_.getParameter<double>("TOB4calib");
293  TOB5calib=conf_.getParameter<double>("TOB5calib");
294  TOB6calib=conf_.getParameter<double>("TOB6calib");
295  }
296 
297 
298  TF1 *fitfunc= new TF1("fitfunc","([4]/[3])*[1]*(TMath::Abs(x-[0]))+[2]",-1,1);
299  TF1 *fitfunc2IT= new TF1("fitfunc2IT","([4]/[3])*[1]*(TMath::Abs(x-[0]))+[2]",-1,1);
300 
301  ofstream NoEntries;
302  NoEntries.open(NoEntriesHisto_.c_str());
303  ofstream Rep;
304  Rep.open(LAreport_.c_str());
305 
306  gStyle->SetOptStat(1110);
307 
308  for(histo=histolist.begin();histo!=histolist.end();++histo){
309 
310  FitFunction = 0;
311  FitFunction2IT = 0;
312  bool Good2ITFit = false;
313  bool ModuleHisto = true;
314 
315  histoEntries = -99;
316  gphi=-99;
317  geta=-99;
318  gz = -99;
319  gR=-1;
320  globalX = -99;
321  globalY = -99;
322  globalZ = -99;
323  goodFit = 0;
324  goodFit1IT = 0;
325  badFit = 0;
326  muH = -1;
327  TIB = 0;
328  TOB = 0;
329  MonoStereo = -1;
330 
331  uint32_t id=hidmanager.getComponentId((*histo)->getName());
332  DetId detid(id);
333  StripSubdetector subid(id);
334  const GeomDetUnit * stripdet;
335  MonoStereo = subid.stereo();
336 
337  if(!(stripdet=tracker->idToDetUnit(subid))){
338  no_mod_histo++;
339  ModuleHisto=false;
340  edm::LogInfo("SiStripCalibLorentzAngle")<<"### NO MODULE HISTOGRAM";}
341 
342  if(stripdet!=0 && ModuleHisto==true){
343 
344  if(subid.subdetId() == int (StripSubdetector::TIB)){
345  TIBDetId TIBid=TIBDetId(subid);
346  Layer = TIBid.layer();
347  TIB = 1;}
348  if(subid.subdetId() == int (StripSubdetector::TOB)){
349  TOBDetId TOBid=TOBDetId(subid);
350  Layer = TOBid.layer();
351  TOB = 1;}
352 
353  //get module coordinates
354  const GlobalPoint gposition = (stripdet->surface()).toGlobal(p);
355  histoEntries = (*histo)->getEntries();
356  globalX = gposition.x();
357  globalY = gposition.y();
358  globalZ = gposition.z();
359  gphi = gposition.phi();
360  geta = gposition.eta();
361  gR = sqrt(pow(gposition.x(),2)+pow(gposition.y(),2));
362  gz = gposition.z();
363 
364  //get magnetic field
365  const StripGeomDetUnit* det = dynamic_cast<const StripGeomDetUnit*>(estracker->idToDetUnit(detid));
366  if (det==0){
367  edm::LogError("SiStripCalibLorentzAngle") << "[SiStripCalibLorentzAngle::getNewObject] the detID " << id << " doesn't seem to belong to Tracker" <<std::endl;
368  continue;
369  }
370  LocalVector lbfield=(det->surface()).toLocal(magfield_->inTesla(det->surface().position()));
371  theBfield = lbfield.mag();
372  theBfield = (theBfield > 0) ? theBfield : 0.00001;
373  TH1Ds["MagneticField"]->Fill(theBfield);
374  }
375  if(stripdet==0)continue;
376 
377  if(((*histo)->getEntries()<=FitCuts_Entries)&&ModuleHisto==true){
378  if(((*histo)->getEntries()==0)&&ModuleHisto==true){
379  NoEntries<<"NO ENTRIES MODULE, ID = "<<id<<std::endl;
380  edm::LogInfo("SiStripCalibLorentzAngle")<<"### HISTOGRAM WITH 0 ENTRIES => TYPE:"<<subid.subdetId();
381  ZeroEntries++;
382  }else{
383  edm::LogInfo("SiStripCalibLorentzAngle")<<"### HISTOGRAM WITH NR. ENTRIES <= ENTRIES_CUT => TYPE:"<<subid.subdetId();
384  NotEnoughEntries++;}
385  }
386 
387  std::string name;
388  if(TIB==1){
389  name+="TIB";
390  }else{
391  name+="TOB";}
392  std::stringstream LayerStream;
393  LayerStream<<Layer;
394  name+=LayerStream.str();
395  std::stringstream idnum;
396  idnum<<id;
397  name+="_Id_";
398  name+=idnum.str();
399 
400  gStyle->SetOptFit(111);
401 
402  //Extract TProfile from Monitor Element to ProfileMap
403  Profiles[name.c_str()] = new TProfile;
404  TProfile* theProfile=ExtractTObject<TProfile>().extract(*histo);
405  theProfile->Copy(*Profiles[name.c_str()]);
406  Profiles[name.c_str()]->SetName(name.c_str());
407 
408  if(((*histo)->getEntries()>FitCuts_Entries) && ModuleHisto==true){
409  histocounter++;
410  if(TIB==1){
411  edm::LogInfo("SiStripCalibLorentzAngle")<<"TIB layer = "<<Layer;}
412  if(TOB==1){
413  edm::LogInfo("SiStripCalibLorentzAngle")<<"TOB layer = "<<Layer;}
414  edm::LogInfo("SiStripCalibLorentzAngle")<<"id: "<<id;
415 
416  float thickness=stripdet->specificSurface().bounds().thickness();
417  const StripTopology& topol=(StripTopology&)stripdet->topology();
418  float pitch = topol.localPitch(p);
419 
420  fitfunc->SetParameter(0, p0_guess);
421  fitfunc->SetParameter(1, p1_guess);
422  fitfunc->SetParameter(2, p2_guess);
423  fitfunc->FixParameter(3, pitch);
424  fitfunc->FixParameter(4, thickness);
425 
426  Profiles[name.c_str()]->Fit("fitfunc","E","",ModuleRangeMin, ModuleRangeMax);
427 
428  FitFunction = Profiles[name.c_str()]->GetFunction("fitfunc");
429  chi2norm = FitFunction->GetChisquare()/FitFunction->GetNDF();
430 
431  if(FitFunction->GetParameter(0)>FitCuts_p0 || FitFunction->GetParameter(1)<FitCuts_p1 || FitFunction->GetParameter(2)<FitCuts_p2 || chi2norm>FitCuts_chi2 || FitFunction->GetParError(0)<FitCuts_ParErr_p0){
432 
433  FirstIT_badfit++;
434 
435  fitfunc2IT->SetParameter(0, p0_guess);
436  fitfunc2IT->SetParameter(1, p1_guess);
437  fitfunc2IT->SetParameter(2, p2_guess);
438  fitfunc2IT->FixParameter(3, pitch);
439  fitfunc2IT->FixParameter(4, thickness);
440 
441  //2nd Iteration
442  Profiles[name.c_str()]->Fit("fitfunc2IT","E","",ModuleRangeMin2IT, ModuleRangeMax2IT);
443 
444  FitFunction = Profiles[name.c_str()]->GetFunction("fitfunc2IT");
445  chi2norm = FitFunction->GetChisquare()/FitFunction->GetNDF();
446 
447  //2nd Iteration failed
448 
449  if(FitFunction->GetParameter(0)>FitCuts_p0 || FitFunction->GetParameter(1)<FitCuts_p1 || FitFunction->GetParameter(2)<FitCuts_p2 || chi2norm>FitCuts_chi2 || FitFunction->GetParError(0)<FitCuts_ParErr_p0){
450 
451  if(subid.subdetId() == int (StripSubdetector::TIB)){
452  Profiles[name.c_str()]->SetDirectory(TIB_2IT_BadFit);
453  }else{
454  Profiles[name.c_str()]->SetDirectory(TOB_2IT_BadFit);}
455 
456  SecondIT_badfit++;
457  badFit=1;
458 
459  }
460 
461  //2nd Iteration ok
462 
463  if(FitFunction->GetParameter(0)<FitCuts_p0 && FitFunction->GetParameter(1)>FitCuts_p1 && FitFunction->GetParameter(2)>FitCuts_p2 && chi2norm<FitCuts_chi2 && FitFunction->GetParError(0)>FitCuts_ParErr_p0){
464 
465  if(subid.subdetId() == int (StripSubdetector::TIB)){
466  Profiles[name.c_str()]->SetDirectory(TIB_2IT_GoodFit);
467  }else{
468  Profiles[name.c_str()]->SetDirectory(TOB_2IT_GoodFit);}
469 
470  SecondIT_goodfit++;
471  Good2ITFit = true;
472 
473  }
474 
475  }
476 
477  if(FitFunction->GetParameter(0)<FitCuts_p0 && FitFunction->GetParameter(1)>FitCuts_p1 && FitFunction->GetParameter(2)>FitCuts_p2 && chi2norm<FitCuts_chi2 && FitFunction->GetParError(0)>FitCuts_ParErr_p0){
478 
479  if(Good2ITFit==false){
480 
481  FirstIT_goodfit++;
482  goodFit1IT = 1;
483 
484  if(subid.subdetId() == int (StripSubdetector::TIB)){
485  Profiles[name.c_str()]->SetDirectory(TIB_1IT_GoodFit);
486  }else{
487  Profiles[name.c_str()]->SetDirectory(TOB_1IT_GoodFit);}
488 
489  }
490 
491  GoodFit++;
492  goodFit=1;
493 
494  LorentzAngle_Plots->cd();
495 
496  edm::LogInfo("SiStripCalibLorentzAngle")<<FitFunction->GetParameter(0);
497 
498  muH = -(FitFunction->GetParameter(0))/theBfield;
499 
500  if(TIB==1){
501  if(Layer==1) muH = muH/TIB1calib;
502  if(Layer==2) muH = muH/TIB2calib;
503  if(Layer==3) muH = muH/TIB3calib;
504  if(Layer==4) muH = muH/TIB4calib;
505  }
506  if(TOB==1){
507  if(Layer==1) muH = muH/TOB1calib;
508  if(Layer==2) muH = muH/TOB2calib;
509  if(Layer==3) muH = muH/TOB3calib;
510  if(Layer==4) muH = muH/TOB4calib;
511  if(Layer==5) muH = muH/TOB5calib;
512  if(Layer==6) muH = muH/TOB6calib;
513  }
514 
515  detid_la[id]= muH;
516 
517  if(TIB==1){
518 
519  TH1Ds["LA_TIB"]->Fill(muH);
520  TH1Ds["LA_err_TIB"]->Fill(FitFunction->GetParError(0)/theBfield);
521  TH1Ds["LA_chi2norm_TIB"]->Fill(chi2norm);
522  TH2Ds["LA_phi_TIB"]->Fill(gphi,muH);
523  TH2Ds["LA_eta_TIB"]->Fill(geta,muH);
524  TH2Ds["LA_TIB_graph"]->Fill(Layer,muH);
525 
526  if(Layer==1){
527  TH1Ds["LA_TIB_1"]->Fill(muH);
528  TH2Ds["LA_phi_TIB1"]->Fill(gphi,muH);
529  TH2Ds["LA_eta_TIB1"]->Fill(geta,muH);
530  if(MonoStereo==0){
531  TH1Ds["LA_TIB_1_mono"]->Fill(muH);
532  TH2Ds["LA_phi_TIB1_mono"]->Fill(gphi,muH);
533  TH2Ds["LA_eta_TIB1_mono"]->Fill(geta,muH);}
534  if(MonoStereo==1){
535  TH1Ds["LA_TIB_1_stereo"]->Fill(muH);
536  TH2Ds["LA_phi_TIB1_stereo"]->Fill(gphi,muH);
537  TH2Ds["LA_eta_TIB1_stereo"]->Fill(geta,muH);}
538  }
539 
540  if(Layer==2){
541  TH1Ds["LA_TIB_2"]->Fill(muH);
542  TH2Ds["LA_phi_TIB2"]->Fill(gphi,muH);
543  TH2Ds["LA_eta_TIB2"]->Fill(geta,muH);
544  if(MonoStereo==0){
545  TH1Ds["LA_TIB_2_mono"]->Fill(muH);
546  TH2Ds["LA_phi_TIB2_mono"]->Fill(gphi,muH);
547  TH2Ds["LA_eta_TIB2_mono"]->Fill(geta,muH);}
548  if(MonoStereo==1){
549  TH1Ds["LA_TIB_2_stereo"]->Fill(muH);
550  TH2Ds["LA_phi_TIB2_stereo"]->Fill(gphi,muH);
551  TH2Ds["LA_eta_TIB2_stereo"]->Fill(geta,muH);}
552  }
553 
554  if(Layer==3){
555  TH1Ds["LA_TIB_3"]->Fill(muH);
556  TH2Ds["LA_phi_TIB3"]->Fill(gphi,muH);
557  TH2Ds["LA_eta_TIB3"]->Fill(geta,muH);
558  }
559 
560  if(Layer==4){
561  TH1Ds["LA_TIB_4"]->Fill(muH);
562  TH2Ds["LA_phi_TIB4"]->Fill(gphi,muH);
563  TH2Ds["LA_eta_TIB4"]->Fill(geta,muH);
564  }
565  }
566 
567  if(TOB==1){
568 
569  TH1Ds["LA_TOB"]->Fill(muH);
570  TH1Ds["LA_err_TOB"]->Fill(FitFunction->GetParError(0)/theBfield);
571  TH1Ds["LA_chi2norm_TOB"]->Fill(chi2norm);
572  TH2Ds["LA_phi_TOB"]->Fill(gphi,muH);
573  TH2Ds["LA_eta_TOB"]->Fill(geta,muH);
574  TH2Ds["LA_TOB_graph"]->Fill(Layer,muH);
575 
576  if(Layer==1){
577  TH1Ds["LA_TOB_1"]->Fill(muH);
578  TH2Ds["LA_phi_TOB1"]->Fill(gphi,muH);
579  TH2Ds["LA_eta_TOB1"]->Fill(geta,muH);
580  if(MonoStereo==0){
581  TH1Ds["LA_TOB_1_mono"]->Fill(muH);
582  TH2Ds["LA_phi_TOB1_mono"]->Fill(gphi,muH);
583  TH2Ds["LA_eta_TOB1_mono"]->Fill(geta,muH);}
584  if(MonoStereo==1){
585  TH1Ds["LA_TOB_1_stereo"]->Fill(muH);
586  TH2Ds["LA_phi_TOB1_stereo"]->Fill(gphi,muH);
587  TH2Ds["LA_eta_TOB1_stereo"]->Fill(geta,muH);}
588  }
589 
590  if(Layer==2){
591  TH1Ds["LA_TOB_2"]->Fill(muH);
592  TH2Ds["LA_phi_TOB2"]->Fill(gphi,muH);
593  TH2Ds["LA_eta_TOB2"]->Fill(geta,muH);
594  if(MonoStereo==0){
595  TH1Ds["LA_TOB_2_mono"]->Fill(muH);
596  TH2Ds["LA_phi_TOB2_mono"]->Fill(gphi,muH);
597  TH2Ds["LA_eta_TOB2_mono"]->Fill(geta,muH);}
598  if(MonoStereo==1){
599  TH1Ds["LA_TOB_2_stereo"]->Fill(muH);
600  TH2Ds["LA_phi_TOB2_stereo"]->Fill(gphi,muH);
601  TH2Ds["LA_eta_TOB2_stereo"]->Fill(geta,muH);}
602  }
603 
604  if(Layer==3){
605  TH1Ds["LA_TOB_3"]->Fill(muH);
606  TH2Ds["LA_phi_TOB3"]->Fill(gphi,muH);
607  TH2Ds["LA_eta_TOB3"]->Fill(geta,muH);
608  }
609 
610  if(Layer==4){
611  TH1Ds["LA_TOB_4"]->Fill(muH);
612  TH2Ds["LA_phi_TOB4"]->Fill(gphi,muH);
613  TH2Ds["LA_eta_TOB4"]->Fill(geta,muH);
614  }
615 
616  if(Layer==5){
617  TH1Ds["LA_TOB_5"]->Fill(muH);
618  TH2Ds["LA_phi_TOB5"]->Fill(gphi,muH);
619  TH2Ds["LA_eta_TOB5"]->Fill(geta,muH);
620  }
621 
622  if(Layer==6){
623  TH1Ds["LA_TOB_6"]->Fill(muH);
624  TH2Ds["LA_phi_TOB6"]->Fill(gphi,muH);
625  TH2Ds["LA_eta_TOB6"]->Fill(geta,muH);
626  }
627  }
628 
629  }
630  }
631 
632  ModuleTree->Fill();
633 
634  }
635 
636  double GaussFitRange=conf_.getParameter<double>("GaussFitRange");
637 
638  TH1Ds["LA_TIB_1"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
639  mean_TIB1 = TH1Ds["LA_TIB_1"]->GetFunction("gaus")->GetParameter(1);
640  float err_mean_TIB1 = TH1Ds["LA_TIB_1"]->GetFunction("gaus")->GetParError(1);
641  float rms_TIB1 = TH1Ds["LA_TIB_1"]->GetFunction("gaus")->GetParameter(2);
642  TH1Ds["LA_TIB_2"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
643  mean_TIB2 = TH1Ds["LA_TIB_2"]->GetFunction("gaus")->GetParameter(1);
644  float err_mean_TIB2 = TH1Ds["LA_TIB_2"]->GetFunction("gaus")->GetParError(1);
645  float rms_TIB2 = TH1Ds["LA_TIB_2"]->GetFunction("gaus")->GetParameter(2);
646  TH1Ds["LA_TIB_3"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
647  mean_TIB3 = TH1Ds["LA_TIB_3"]->GetFunction("gaus")->GetParameter(1);
648  float err_mean_TIB3 = TH1Ds["LA_TIB_3"]->GetFunction("gaus")->GetParError(1);
649  float rms_TIB3 = TH1Ds["LA_TIB_3"]->GetFunction("gaus")->GetParameter(2);
650  TH1Ds["LA_TIB_4"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
651  mean_TIB4 = TH1Ds["LA_TIB_4"]->GetFunction("gaus")->GetParameter(1);
652  float err_mean_TIB4 = TH1Ds["LA_TIB_4"]->GetFunction("gaus")->GetParError(1);
653  float rms_TIB4 = TH1Ds["LA_TIB_4"]->GetFunction("gaus")->GetParameter(2);
654 
655  TH1Ds["LA_TOB_1"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
656  mean_TOB1 = TH1Ds["LA_TOB_1"]->GetFunction("gaus")->GetParameter(1);
657  float err_mean_TOB1 = TH1Ds["LA_TOB_1"]->GetFunction("gaus")->GetParError(1);
658  float rms_TOB1 = TH1Ds["LA_TOB_1"]->GetFunction("gaus")->GetParameter(2);
659  TH1Ds["LA_TOB_2"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
660  mean_TOB2 = TH1Ds["LA_TOB_2"]->GetFunction("gaus")->GetParameter(1);
661  float err_mean_TOB2 = TH1Ds["LA_TOB_2"]->GetFunction("gaus")->GetParError(1);
662  float rms_TOB2 = TH1Ds["LA_TOB_2"]->GetFunction("gaus")->GetParameter(2);
663  TH1Ds["LA_TOB_3"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
664  mean_TOB3 = TH1Ds["LA_TOB_3"]->GetFunction("gaus")->GetParameter(1);
665  float err_mean_TOB3 = TH1Ds["LA_TOB_3"]->GetFunction("gaus")->GetParError(1);
666  float rms_TOB3 = TH1Ds["LA_TOB_3"]->GetFunction("gaus")->GetParameter(2);
667  TH1Ds["LA_TOB_4"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
668  mean_TOB4 = TH1Ds["LA_TOB_4"]->GetFunction("gaus")->GetParameter(1);
669  float err_mean_TOB4 = TH1Ds["LA_TOB_4"]->GetFunction("gaus")->GetParError(1);
670  float rms_TOB4 = TH1Ds["LA_TOB_4"]->GetFunction("gaus")->GetParameter(2);
671  TH1Ds["LA_TOB_5"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
672  mean_TOB5 = TH1Ds["LA_TOB_5"]->GetFunction("gaus")->GetParameter(1);
673  float err_mean_TOB5 = TH1Ds["LA_TOB_5"]->GetFunction("gaus")->GetParError(1);
674  float rms_TOB5 = TH1Ds["LA_TOB_5"]->GetFunction("gaus")->GetParameter(2);
675  TH1Ds["LA_TOB_6"]->Fit("gaus","","",-GaussFitRange,GaussFitRange);
676  mean_TOB6 = TH1Ds["LA_TOB_6"]->GetFunction("gaus")->GetParameter(1);
677  float err_mean_TOB6 = TH1Ds["LA_TOB_6"]->GetFunction("gaus")->GetParError(1);
678  float rms_TOB6 = TH1Ds["LA_TOB_6"]->GetFunction("gaus")->GetParameter(2);
679 
680 int nlayersTIB = 4;
681 float TIBx[4]={1,2,3,4};
682 float TIBex[4]={0,0,0,0};
683 float TIBy[4]={mean_TIB1, mean_TIB2, mean_TIB3, mean_TIB4};
684 float TIBey[4]={err_mean_TIB1, err_mean_TIB2, err_mean_TIB3, err_mean_TIB4};
685 
686 int nlayersTOB = 6;
687 float TOBx[6]={1,2,3,4,5,6};
688 float TOBex[6]={0,0,0,0,0,0};
690 float TOBey[6]={err_mean_TOB1, err_mean_TOB2, err_mean_TOB3, err_mean_TOB4, err_mean_TOB5, err_mean_TOB6};
691 
692 TIB_graph = new TGraphErrors(nlayersTIB,TIBx,TIBy,TIBex,TIBey);
693 TOB_graph = new TGraphErrors(nlayersTOB,TOBx,TOBy,TOBex,TOBey);
694 
695 //TF1 *fit_TIB= new TF1("fit_TIB","[0]",0,4);
696 //TF1 *fit_TOB= new TF1("fit_TOB","[0]",0,6);
697 
698 gStyle->SetOptFit(111);
699 gStyle->SetOptStat(111);
700 
701 TIB_graph->SetTitle("TIB Layers #mu_{H}");
702 TIB_graph->GetXaxis()->SetTitle("Layers");
703 TIB_graph->GetXaxis()->SetNdivisions(4);
704 TIB_graph->GetYaxis()->SetTitle("#mu_{H}");
705 TIB_graph->SetMarkerStyle(20);
706 TIB_graph->GetYaxis()->SetTitleOffset(1.3);
707 TIB_graph->Fit("fit_TIB","E","",1,4);
708 meanMobility_TIB = TIB_graph->GetFunction("fit_TIB")->GetParameter(0);
709 
710 TOB_graph->SetTitle("TOB Layers #mu_{H}");
711 TOB_graph->GetXaxis()->SetTitle("Layers");
712 TOB_graph->GetXaxis()->SetNdivisions(6);
713 TOB_graph->GetYaxis()->SetTitle("#mu_{H}");
714 TOB_graph->SetMarkerStyle(20);
715 TOB_graph->GetYaxis()->SetTitleOffset(1.3);
716 TOB_graph->Fit("fit_TOB","E","",1,6);
717 meanMobility_TOB = TOB_graph->GetFunction("fit_TOB")->GetParameter(0);
718 
719  TIB_graph->Write("TIB_graph");
720  TOB_graph->Write("TOB_graph");
721 
722  Rep<<"- NR.OF TIB AND TOB MODULES = 7932"<<std::endl<<std::endl<<std::endl;
723  Rep<<"- NO MODULE HISTOS FOUND = "<<no_mod_histo<<std::endl<<std::endl;
724  Rep<<"- NR.OF HISTOS WITH ENTRIES > "<<FitCuts_Entries<<" = "<<histocounter<<std::endl<<std::endl;
725  Rep<<"- NR.OF HISTOS WITH ENTRIES <= "<<FitCuts_Entries<<" (!=0) = "<<NotEnoughEntries<<std::endl<<std::endl;
726  Rep<<"- NR.OF HISTOS WITH 0 ENTRIES = "<<ZeroEntries<<std::endl<<std::endl<<std::endl;
727  Rep<<"- NR.OF GOOD FIT (FIRST IT + SECOND IT GOOD FIT)= "<<GoodFit<<std::endl<<std::endl;
728  Rep<<"- NR.OF FIRST IT GOOD FIT = "<<FirstIT_goodfit<<std::endl<<std::endl;
729  Rep<<"- NR.OF SECOND IT GOOD FIT = "<<SecondIT_goodfit<<std::endl<<std::endl;
730  Rep<<"- NR.OF FIRST IT BAD FIT = "<<FirstIT_badfit<<std::endl<<std::endl;
731  Rep<<"- NR.OF SECOND IT BAD FIT = "<<SecondIT_badfit<<std::endl<<std::endl<<std::endl;
732 
733  Rep<<"--------------- Mean MuH values per Layer -------------------"<<std::endl<<std::endl<<std::endl;
734  Rep<<"TIB1 = "<<mean_TIB1<<" +- "<<err_mean_TIB1<<" RMS = "<<rms_TIB1<<std::endl;
735  Rep<<"TIB2 = "<<mean_TIB2<<" +- "<<err_mean_TIB2<<" RMS = "<<rms_TIB2<<std::endl;
736  Rep<<"TIB3 = "<<mean_TIB3<<" +- "<<err_mean_TIB3<<" RMS = "<<rms_TIB3<<std::endl;
737  Rep<<"TIB4 = "<<mean_TIB4<<" +- "<<err_mean_TIB4<<" RMS = "<<rms_TIB4<<std::endl;
738  Rep<<"TOB1 = "<<mean_TOB1<<" +- "<<err_mean_TOB1<<" RMS = "<<rms_TOB1<<std::endl;
739  Rep<<"TOB2 = "<<mean_TOB2<<" +- "<<err_mean_TOB2<<" RMS = "<<rms_TOB2<<std::endl;
740  Rep<<"TOB3 = "<<mean_TOB3<<" +- "<<err_mean_TOB3<<" RMS = "<<rms_TOB3<<std::endl;
741  Rep<<"TOB4 = "<<mean_TOB4<<" +- "<<err_mean_TOB4<<" RMS = "<<rms_TOB4<<std::endl;
742  Rep<<"TOB5 = "<<mean_TOB5<<" +- "<<err_mean_TOB5<<" RMS = "<<rms_TOB5<<std::endl;
743  Rep<<"TOB6 = "<<mean_TOB6<<" +- "<<err_mean_TOB6<<" RMS = "<<rms_TOB6<<std::endl<<std::endl;
744  Rep<<"Mean Hall Mobility TIB = "<<meanMobility_TIB<<" +- "<<TIB_graph->GetFunction("fit_TIB")->GetParError(0)<<std::endl;
745  Rep<<"Mean Hall Mobility TOB = "<<meanMobility_TOB<<" +- "<<TOB_graph->GetFunction("fit_TOB")->GetParError(0)<<std::endl<<std::endl<<std::endl;
746 
747  Rep.close();
748  NoEntries.close();
749 
750 hFile->Write();
751 hFile->Close();
752 
753 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
unsigned int layer() const
layer id
Definition: TOBDetId.h:39
Geom::Phi< T > phi() const
Definition: PV3DBase.h:68
T y() const
Definition: PV3DBase.h:62
std::map< uint32_t, float > detid_la
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
const BoundPlane & specificSurface() const
Same as surface(), kept for backward compatibility.
Definition: GeomDet.h:38
uint32_t getComponentId(std::string histoid)
std::vector< MonitorElement * > getAllContents(const std::string &path) const
Definition: DQMStore.cc:1672
virtual float thickness() const =0
virtual const Topology & topology() const =0
virtual float localPitch(const LocalPoint &) const =0
const TrackerGeometry * tracker
T mag() const
Definition: PV3DBase.h:66
T sqrt(T t)
Definition: SSEVec.h:46
T z() const
Definition: PV3DBase.h:63
DQMStore * dbe_
int extract(std::vector< int > *output, const std::string &dati)
Definition: DetId.h:20
const Bounds & bounds() const
Definition: BoundSurface.h:89
const T & get() const
Definition: EventSetup.h:55
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
T eta() const
Definition: PV3DBase.h:75
virtual const GeomDetUnit * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:35
edm::ESHandle< TrackerGeometry > estracker
Local3DPoint LocalPoint
Definition: LocalPoint.h:11
bool open(const std::string &filename, bool overwrite=false, const std::string &path="", const std::string &prepend="", OpenRunDirs stripdirs=KeepRunDirs, bool fileMustExist=true)
Definition: DQMStore.cc:2432
edm::ESHandle< MagneticField > magfield_
T x() const
Definition: PV3DBase.h:61
const PositionType & position() const
std::vector< MonitorElement * > histolist
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
SiStripLorentzAngle * SiStripCalibLorentzAngle::getNewObject ( )
virtual

Implements ConditionDBWriter< SiStripLorentzAngle >.

Definition at line 764 of file SiStripCalibLorentzAngle.cc.

References detid_la, estracker, hallMobility, TOBDetId::layer(), TIBDetId::layer(), LayerDB, mean_TIB1, mean_TIB2, mean_TIB3, mean_TIB4, mean_TOB1, mean_TOB2, mean_TOB3, mean_TOB4, mean_TOB5, mean_TOB6, meanMobility_TIB, meanMobility_TOB, SiStripLorentzAngle::putLorentzAngle(), TECDetId::ringNumber(), redigi_cff::SiStripLorentzAngle, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, and StripSubdetector::TOB.

764  {
765 
766  SiStripLorentzAngle* LorentzAngle = new SiStripLorentzAngle();
767 
768  if(!LayerDB){
769  for(std::map<uint32_t, float>::iterator it = detid_la.begin(); it != detid_la.end(); it++){
770 
771  float langle=it->second;
772  if ( ! LorentzAngle->putLorentzAngle(it->first,langle) )
773  edm::LogError("SiStripCalibLorentzAngle")<<"[SiStripCalibLorentzAngle::analyze] detid already exists"<<std::endl;
774  }
775  }
776 
777  else{
778 
779  const TrackerGeometry::DetIdContainer& Id = estracker->detIds();
780  TrackerGeometry::DetIdContainer::const_iterator Iditer;
781 
782  for(Iditer=Id.begin();Iditer!=Id.end();Iditer++){
783 
784  StripSubdetector subid(Iditer->rawId());
785 
786  hallMobility = 0.;
787 
788  if(subid.subdetId() == int (StripSubdetector::TIB)){
789  TIBDetId TIBid=TIBDetId(subid);
790  if(TIBid.layer()==1){
791  hallMobility=mean_TIB1;}
792  if(TIBid.layer()==2){
793  hallMobility=mean_TIB2;}
794  if(TIBid.layer()==3){
795  hallMobility=mean_TIB3;}
796  if(TIBid.layer()==4){
797  hallMobility=mean_TIB4;}
798  if (!LorentzAngle->putLorentzAngle(Iditer->rawId(),hallMobility)) edm::LogError("SiStripLorentzAngleGenerator")<<" detid already exists"<<std::endl;
799  }
800 
801  if(subid.subdetId() == int (StripSubdetector::TOB)){
802  TOBDetId TOBid=TOBDetId(subid);
803  if(TOBid.layer()==1){
804  hallMobility=mean_TOB1;}
805  if(TOBid.layer()==2){
806  hallMobility=mean_TOB2;}
807  if(TOBid.layer()==3){
808  hallMobility=mean_TOB3;}
809  if(TOBid.layer()==4){
810  hallMobility=mean_TOB4;}
811  if(TOBid.layer()==5){
812  hallMobility=mean_TOB5;}
813  if(TOBid.layer()==6){
814  hallMobility=mean_TOB6;}
815  if (!LorentzAngle->putLorentzAngle(Iditer->rawId(),hallMobility)) edm::LogError("SiStripLorentzAngleGenerator")<<" detid already exists"<<std::endl;
816  }
817 
818  if( subid.subdetId() == int(StripSubdetector::TID) ) {
819  hallMobility=meanMobility_TIB;
820  if (!LorentzAngle->putLorentzAngle(Iditer->rawId(),hallMobility)) edm::LogError("SiStripLorentzAngleGenerator")<<" detid already exists"<<std::endl;
821  }
822 
823  if( subid.subdetId() == int(StripSubdetector::TEC) ) {
824  TECDetId TECid = TECDetId(subid);
825  if(TECid.ringNumber()<5 ) {
826  hallMobility=meanMobility_TIB;
827  }else{
828  hallMobility=meanMobility_TOB;
829  }
830  if (!LorentzAngle->putLorentzAngle(Iditer->rawId(),hallMobility)) edm::LogError("SiStripLorentzAngleGenerator")<<" detid already exists"<<std::endl;
831  }
832 
833  }
834  }
835 
836  return LorentzAngle;
837 
838 }
tuple SiStripLorentzAngle
Definition: redigi_cff.py:15
unsigned int layer() const
layer id
Definition: TOBDetId.h:39
std::map< uint32_t, float > detid_la
bool putLorentzAngle(const uint32_t &, float &)
unsigned int layer() const
layer id
Definition: TIBDetId.h:41
unsigned int ringNumber() const
Definition: TECDetId.h:98
edm::ESHandle< TrackerGeometry > estracker
std::vector< DetId > DetIdContainer

Member Data Documentation

float SiStripCalibLorentzAngle::AsymmParam
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

int SiStripCalibLorentzAngle::badFit
private

Definition at line 66 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

bool SiStripCalibLorentzAngle::CalibByMC
private

Definition at line 73 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

edm::ParameterSet SiStripCalibLorentzAngle::conf_
private

Definition at line 84 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

std::map< uint32_t, float> SiStripCalibLorentzAngle::detid_la
private

Definition at line 83 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

edm::ESHandle<TrackerGeometry> SiStripCalibLorentzAngle::estracker
private

Definition at line 50 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

TDirectory* SiStripCalibLorentzAngle::FirstIT_GoodFit_Histos
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TF1* SiStripCalibLorentzAngle::fitfunc
private

Definition at line 63 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TF1 * SiStripCalibLorentzAngle::fitfunc2IT
private

Definition at line 63 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TF1 * SiStripCalibLorentzAngle::FitFunction
private

Definition at line 63 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TF1 * SiStripCalibLorentzAngle::FitFunction2IT
private

Definition at line 63 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::geta
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::globalX
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::globalY
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::globalZ
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

int SiStripCalibLorentzAngle::goodFit
private

Definition at line 66 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

int SiStripCalibLorentzAngle::goodFit1IT
private

Definition at line 66 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::gphi
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

const GlobalPoint SiStripCalibLorentzAngle::gposition
private

Definition at line 67 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::gR
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::gz
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::hallMobility
private

Definition at line 71 of file SiStripCalibLorentzAngle.h.

Referenced by getNewObject().

TFile* SiStripCalibLorentzAngle::hFile
private

Definition at line 78 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and ~SiStripCalibLorentzAngle().

float SiStripCalibLorentzAngle::histoEntries
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

std::vector<MonitorElement*> SiStripCalibLorentzAngle::histolist
private

Definition at line 61 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

int SiStripCalibLorentzAngle::Layer
private

Definition at line 66 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

bool SiStripCalibLorentzAngle::LayerDB
private

Definition at line 73 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

TDirectory* SiStripCalibLorentzAngle::LorentzAngle_Plots
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

edm::ESHandle<MagneticField> SiStripCalibLorentzAngle::magfield_
private

Definition at line 51 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::mean_TIB1
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TIB2
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TIB3
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TIB4
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TOB1
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TOB2
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TOB3
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TOB4
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TOB5
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::mean_TOB6
private

Definition at line 69 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::meanMobility_TIB
private

Definition at line 71 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

float SiStripCalibLorentzAngle::meanMobility_TOB
private

Definition at line 71 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob(), and getNewObject().

TTree* SiStripCalibLorentzAngle::ModuleTree
private

Definition at line 77 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

int SiStripCalibLorentzAngle::MonoStereo
private

Definition at line 66 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::muH
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::MuH
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::MuH_vs_Eta
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::MuH_vs_Phi
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

ProfileMap SiStripCalibLorentzAngle::Profiles
private

Definition at line 56 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::Rootple
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::SecondIT_BadFit_Histos
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::SecondIT_GoodFit_Histos
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TH1Dmap SiStripCalibLorentzAngle::TH1Ds
private

Definition at line 58 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TH2Dmap SiStripCalibLorentzAngle::TH2Ds
private

Definition at line 60 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

float SiStripCalibLorentzAngle::theBfield
private

Definition at line 65 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

int SiStripCalibLorentzAngle::TIB
private

Definition at line 66 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TIB_1IT_GoodFit
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TIB_2IT_BadFit
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TIB_2IT_GoodFit
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TIB_Eta
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TGraphErrors* SiStripCalibLorentzAngle::TIB_graph
private

Definition at line 75 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TIB_MuH
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TIB_Phi
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

int SiStripCalibLorentzAngle::TOB
private

Definition at line 66 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TOB_1IT_GoodFit
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TOB_2IT_BadFit
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TOB_2IT_GoodFit
private

Definition at line 81 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TOB_Eta
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TGraphErrors * SiStripCalibLorentzAngle::TOB_graph
private

Definition at line 75 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TOB_MuH
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

TDirectory * SiStripCalibLorentzAngle::TOB_Phi
private

Definition at line 80 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().

const TrackerGeometry* SiStripCalibLorentzAngle::tracker
private

Definition at line 53 of file SiStripCalibLorentzAngle.h.

Referenced by algoBeginJob().