|
ATLAS Offline Software
|
Go to the documentation of this file.
13 if (
argc > 1) { std::cout <<
argv[0] << std::endl; }
16 TFile*
output =
new TFile(
"MuonSectorMapping.root",
"RECREATE");
17 TTree*
tree =
new TTree(
"sm",
"sm");
33 tree->Branch(
"phi", &
phi,
"phi/F");
35 tree->Branch(
"phiInSector", &phiInSector,
"phiInSector/F");
36 tree->Branch(
"phiTest", &phiTest,
"phiTest/F");
37 tree->Branch(
"rInSector", &rInSector,
"rInSector/F");
38 tree->Branch(
"rTest", &rTest,
"rTest/F");
39 tree->Branch(
"phiSector", &phiSector,
"phiSector/F");
40 tree->Branch(
"neighbourPhi", &neighbourPhi,
"neighbourPhi/F");
41 tree->Branch(
"rNeighbour", &rNeighbour,
"rNeighbour/F");
42 tree->Branch(
"overlapPhi", &overlapPhi,
"overlapPhi/F");
43 tree->Branch(
"id", &
id,
"id/I");
44 tree->Branch(
"closeToEdge", &closeToEdge,
"closeToEdge/I");
45 tree->Branch(
"neighbours", &neighbours,
"neighbours/I");
46 tree->Branch(
"neighbourId", &neighbourId,
"neighbourId/I");
50 unsigned int nsamplings = 100000;
51 float dphi = 2 *
M_PI / nsamplings;
52 for (
unsigned int i = 0;
i < nsamplings; ++
i) {
61 std::vector<int> sectors;
63 neighbours = sectors.size();
65 for (
auto val : sectors) {
66 if (
val !=
id) neighbourId =
val;
71 if (neighbourId > 0) {
72 neighbourPhi = sectorMapping.
sectorPhi(neighbourId);
Scalar phi() const
phi method
double sectorWidth(int sector) const
sector width (with overlap) in radians
double transformRToSector(double r, double phi, int sector, bool toSector=true) const
expresses a radial position from and to the sector coordinate frame, the phi position should always b...
bool closeToSectorBoundary(double phi) const
checks whether the phi position is close to a sector boundary
void getSectors(double phi, std::vector< int > §ors) const
returns the main sector plus neighboring if the phi position is in an overlap region
int main(int argc, char *argv[])
double transformPhiToSector(double phi, int sector, bool toSector=true) const
transforms a phi position from and to the sector coordinate system in radians
int getSector(double phi) const
returns the sector corresponding to the phi position
bool insideSector(int sector, double phi) const
checks whether the phi position is consistent with sector
double sectorPhi(int sector) const
returns the centeral phi position of a sector in radians
double transformRToNeighboringSector(double r, int sectorHit, int sectorTarget) const
transform a radial position from one sector frame into another
double sectorOverlapPhi(int sector1, int sector2) const
returns the phi position of the overlap between the two sectors (which have to be neighboring) in rad...